[openoffice.org/f13/master] rhbz#642996 [abrt] CffSubsetterContext::readDictOp

David Tardon dtardon at fedoraproject.org
Fri Oct 29 16:16:03 UTC 2010


commit 299ca9b2e60d3801e44e0a7c61b398cb7bba0cf3
Author: David Tardon <dtardon at redhat.com>
Date:   Fri Oct 29 18:15:53 2010 +0200

    rhbz#642996 [abrt] CffSubsetterContext::readDictOp

 openoffice.org.spec               |    3 +++
 vcl.skip-reserved-operators.patch |   28 ++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 0 deletions(-)
---
diff --git a/openoffice.org.spec b/openoffice.org.spec
index 1806d23..8af6839 100644
--- a/openoffice.org.spec
+++ b/openoffice.org.spec
@@ -180,6 +180,7 @@ Patch109: workspace.aw081.patch
 Patch110: 0001-rhbz-636521-Don-t-record-undo-info-during-escher-con.patch
 Patch111: sdext.avoid-running-minimizer-twice.patch
 Patch112: workspace.fwk120.patch
+Patch113: vcl.skip-reserved-operators.patch
 
 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
 %define instdir %{_libdir}
@@ -1790,6 +1791,7 @@ cp -p %{SOURCE5} external/unowinreg/unowinreg.dll
 %patch110 -p1 -b .rhbz-636521-Don-t-record-undo-info-during-escher-con.patch
 %patch111 -p1 -b .sdext.avoid-running-minimizer-twice.patch
 %patch112 -p1 -b .workspace.fwk120.patch
+%patch113 -p1 -b .vcl.skip-reserved-operators.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -4280,6 +4282,7 @@ fi
 - Resolves: rhbz#641637 [abrt] [presentation-minimizer] crash in
   OptimizationStats::GetStatusValue (dtardon)
 - make LD_PRELOAD of libsalalloc_malloc.so work again (dtardon)
+- Resolves: rhbz#642996 [abrt] CffSubsetterContext::readDictOp (dtardon)
 
 * Fri Oct 15 2010 Caolán McNamara <caolanm at redhat.com> - 1:3.2.0-12.33
 - Resolves: rhbz#637838 Cropped pictures are displayed in entirety in
diff --git a/vcl.skip-reserved-operators.patch b/vcl.skip-reserved-operators.patch
new file mode 100644
index 0000000..7179945
--- /dev/null
+++ b/vcl.skip-reserved-operators.patch
@@ -0,0 +1,28 @@
+rhbz#642996 [abrt] CffSubsetterContext::readDictOp (SIGSEGV)
+
+diff -r e070063a347f vcl/source/fontsubset/cff.cxx
+--- a/vcl/source/fontsubset/cff.cxx	Fri Oct 30 19:10:16 2009 +0100
++++ b/vcl/source/fontsubset/cff.cxx	Fri Oct 29 18:12:57 2010 +0200
+@@ -637,15 +637,19 @@
+ 	const U8 c = *mpReadPtr;
+ 	if( c <= 21 ) {
+ 		int nOpId = *(mpReadPtr++);
+-		const char* pCmdName;
++		const char* pCmdName = 0;
+ 		if( nOpId != 12)
+-			pCmdName = pDictOps[ nOpId];
++			pCmdName = pDictOps[nOpId];
+ 		else {
+ 			const U8 nExtId = *(mpReadPtr++);
+-			pCmdName = pDictEscs[ nExtId];
++            if (nExtId < 39)
++               pCmdName = pDictEscs[nExtId];
+ 			nOpId = 900 + nExtId;
+ 		}
+ 
++        if (!pCmdName)  // skip reserved operators
++            return;
++
+ 		//TODO: if( nStackIdx > 0)
+ 		switch( *pCmdName) {
+ 		default: fprintf( stderr, "unsupported DictOp.type=\'%c\'\n", *pCmdName); break;


More information about the scm-commits mailing list