rpms/openoffice.org/F-10 openoffice.org-3.1.0.ooo100942.svtools.oversafeemf.patch, NONE, 1.1 openoffice.org.spec, 1.1723, 1.1724

Caolan McNamara caolanm at fedoraproject.org
Wed Apr 8 11:41:44 UTC 2009


Author: caolanm

Update of /cvs/pkgs/rpms/openoffice.org/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17198

Modified Files:
	openoffice.org.spec 
Added Files:
	openoffice.org-3.1.0.ooo100942.svtools.oversafeemf.patch 
Log Message:
Resolves: rhbz#494643 EMF polypolygons issue

openoffice.org-3.1.0.ooo100942.svtools.oversafeemf.patch:

--- NEW FILE openoffice.org-3.1.0.ooo100942.svtools.oversafeemf.patch ---
Index: source/filter.vcl/wmf/enhwmf.cxx
===================================================================
RCS file: /cvs/util/svtools/source/filter.vcl/wmf/enhwmf.cxx,v
retrieving revision 1.39.114.1
diff -u -r1.39.114.1 enhwmf.cxx
--- openoffice.org.orig/svtools/source/filter.vcl/wmf/enhwmf.cxx	26 Sep 2008 11:25:35 -0000	1.39.114.1
+++ openoffice.org/svtools/source/filter.vcl/wmf/enhwmf.cxx	8 Apr 2009 11:25:53 -0000
@@ -378,7 +378,7 @@
 				// Anzahl der Polygone:
 				*pWMF >> nPoly >> nGesPoints;
 
-				if ( ( nGesPoints < SAL_MAX_UINT32 / sizeof(Point) ) && ( nPoly < SAL_MAX_UINT32 / sizeof(UINT16) ) )
+				if ( ( nGesPoints < SAL_MAX_UINT32 / (sizeof(sal_uInt16) + sizeof(sal_uInt16)) ) && ( nPoly < SAL_MAX_UINT32 / sizeof(UINT16) ) )
 				{
 					if ( ( nPoly * sizeof(UINT16) ) <= ( nEndPos - pWMF->Tell() ) )
 					{
@@ -390,10 +390,10 @@
 							pnPoints[ i ] = (UINT16)nPoints;
 						}
 
-						if ( ( nGesPoints * sizeof(Point) ) <= ( nEndPos - pWMF->Tell() ) )
+						if ( ( nGesPoints * (sizeof(sal_uInt16) + sizeof(sal_uInt16)) ) <= ( nEndPos - pWMF->Tell() ) )
 						{
 							// Polygonpunkte holen:
-							pPtAry  = (Point*) new char[ nGesPoints * sizeof(Point) ];
+							pPtAry  = new Point[ nGesPoints ];
 			
 							for ( i = 0; i < nGesPoints; i++ )
 							{
@@ -403,7 +403,7 @@
 							// PolyPolygon Actions erzeugen
 							PolyPolygon aPolyPoly( (UINT16)nPoly, pnPoints, pPtAry );
 							pOut->DrawPolyPolygon( aPolyPoly, bRecordPath );
-							delete[] (char*) pPtAry;
+							delete[] pPtAry;
 						}
 						delete[] pnPoints;
 					}
@@ -1147,7 +1147,7 @@
 				pWMF->SeekRel( 0x10 );
 				// Anzahl der Polygone:
 				*pWMF >> nPoly >> nGesPoints;
-				if ( ( nGesPoints < SAL_MAX_UINT32 / sizeof(Point) ) && ( nPoly < SAL_MAX_UINT32 / sizeof(UINT16) ) )
+				if ( ( nGesPoints < SAL_MAX_UINT32 / (sizeof(sal_uInt16) + sizeof(sal_uInt16)) ) && ( nPoly < SAL_MAX_UINT32 / sizeof(UINT16) ) )
 				{
 					if ( ( static_cast< sal_uInt32 >( nPoly ) * sizeof( UINT16 ) ) <= ( nEndPos - pWMF->Tell() ) )
 					{
@@ -1157,10 +1157,10 @@
 							*pWMF >> nPoints;
 							pnPoints[ i ] = (UINT16)nPoints;
 						}
-						if ( ( nGesPoints * sizeof(Point) ) <= ( nEndPos - pWMF->Tell() ) )
+						if ( ( nGesPoints * (sizeof(sal_uInt16)+sizeof(sal_uInt16)) ) <= ( nEndPos - pWMF->Tell() ) )
 						{
 							// Polygonpunkte holen:
-							pPtAry  = (Point*) new char[ nGesPoints * sizeof(Point) ];
+							pPtAry  = new Point[ nGesPoints ];
 							for ( i = 0; i < nGesPoints; i++ )
 							{
 								*pWMF >> nX16 >> nY16;
@@ -1170,7 +1170,7 @@
 							// PolyPolygon Actions erzeugen
 							PolyPolygon aPolyPoly( (UINT16)nPoly, pnPoints, pPtAry );
 							pOut->DrawPolyPolygon( aPolyPoly, bRecordPath );
-							delete[] (char*) pPtAry;
+							delete[] pPtAry;
 						}
 						delete[] pnPoints;
 					}


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-10/openoffice.org.spec,v
retrieving revision 1.1723
retrieving revision 1.1724
diff -u -r1.1723 -r1.1724
--- openoffice.org.spec	9 Mar 2009 16:38:11 -0000	1.1723
+++ openoffice.org.spec	8 Apr 2009 11:41:13 -0000	1.1724
@@ -1,6 +1,6 @@
 %define oootag OOO300
 %define ooomilestone 15
-%define rh_rpm_release 3
+%define rh_rpm_release 4
 
 # rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
 %define __jar_repack %{nil}
@@ -144,6 +144,7 @@
 Patch71: openoffice.org-3.1.0.ooo99526.sw.mailmergeup.outofrange.patch
 Patch72: openoffice.org-3.1.0.ooo99529.sw.notrailingnewline.patch
 Patch73: openoffice.org-3.1.0.ooo99541.sw.reopen.flat.addrbooks.patch
+Patch74: openoffice.org-3.1.0.ooo100942.svtools.oversafeemf.patch
 
 %define instdir %{_libdir}
 %define baseinstdir %{instdir}/openoffice.org
@@ -1412,6 +1413,7 @@
 %patch71 -p0 -b .ooo99526.sw.mailmergeup.outofrange.patch
 %patch72 -p0 -b .ooo99529.sw.notrailingnewline.patch
 %patch73 -p0 -b .ooo99541.sw.reopen.flat.addrbooks.patch
+%patch74 -p0 -b .ooo100942.svtools.oversafeemf.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -3778,6 +3780,9 @@
     unopkg list --shared > /dev/null 2>&1 || :
 
 %changelog
+* Wed Apr 08 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.0.1-15.4-UNRELEASED
+- Resolves: rhbz#494643 EMF polypolygons issue
+
 * Mon Mar 09 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.0.1-15.3
 - Resolves: rhbz#483223 openoffice.org-3.0.1.ooo98649.svtools.missingUI.patch
 - Resolves: rhbz#483931 openoffice.org-3.0.1.ooo98885.sw.safeindex.patch




More information about the fedora-extras-commits mailing list