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

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


commit c927eece9e4532de83dc44da083e1a4b422f5c54
Author: David Tardon <dtardon at redhat.com>
Date:   Fri Oct 29 18:24:26 2010 +0200

    rhbz#642996 [abrt] CffSubsetterContext::readDictOp

 ....2.0.rh642996.vcl.skip-reserved-operators.patch |   28 ++++++++++++++++++++
 openoffice.org.spec                                |    7 ++++-
 2 files changed, 34 insertions(+), 1 deletions(-)
---
diff --git a/openoffice.org-3.2.0.rh642996.vcl.skip-reserved-operators.patch b/openoffice.org-3.2.0.rh642996.vcl.skip-reserved-operators.patch
new file mode 100644
index 0000000..e0b6bab
--- /dev/null
+++ b/openoffice.org-3.2.0.rh642996.vcl.skip-reserved-operators.patch
@@ -0,0 +1,28 @@
+rhbz#642996 [abrt] CffSubsetterContext::readDictOp (SIGSEGV)
+
+diff -r d913cb2b3c88 vcl/source/fontsubset/cff.cxx
+--- a/vcl/source/fontsubset/cff.cxx	Thu Oct 28 18:35:18 2010 +0200
++++ b/vcl/source/fontsubset/cff.cxx	Fri Oct 29 18:16:47 2010 +0200
+@@ -616,15 +616,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;
diff --git a/openoffice.org.spec b/openoffice.org.spec
index 6c1d0cc..3e19f2c 100644
--- a/openoffice.org.spec
+++ b/openoffice.org.spec
@@ -1,6 +1,6 @@
 %define oootag OOO330
 %define ooomilestone 13
-%define rh_rpm_release 1
+%define rh_rpm_release 2
 
 # rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
 %define __jar_repack %{nil}
@@ -130,6 +130,7 @@ Patch44: openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch
 Patch45: LibO-backport-eapifix.patch
 Patch46: openoffice.org-3.3.0.rh635918.vcl.fix-im-handling.patch
 Patch47: 0001-rhbz-636521-Don-t-record-undo-info-during-escher-con.patch
+Patch48: openoffice.org-3.2.0.rh642996.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}
@@ -1665,6 +1666,7 @@ cp -p %{SOURCE5} external/unowinreg/unowinreg.dll
 %patch45 -p1 -b .LibO-backport-eapifix.patch
 %patch46 -p1 -b .rh635918.vcl.fix-im-handling.patch
 %patch47 -p1 -b .rhbz-636521-Don-t-record-undo-info-during-escher-con.patch
+%patch48 -p1 -b .rh642996.vcl.skip-reserved-operators.patch
 rm -rf l10n/source/kid  # rhbz#639212
 
 %build
@@ -3864,6 +3866,9 @@ unopkg remove --shared org.openoffice.legacy.ScriptProviderForPython.zip > /dev/
 %endif
 
 %changelog
+* Fri Oct 29 2010 Caolán McNamara <caolanm at redhat.com>- 1:3.3.0-13.2-UNBUILT
+- Resolves: rhbz#642996 [abrt] CffSubsetterContext::readDictOp (dtardon)
+
 * Fri Oct 29 2010 Caolán McNamara <caolanm at redhat.com>- 1:3.3.0-13.1
 - latest milestone
 


More information about the scm-commits mailing list