ooo-build r12811 - in branches/ooo-build-2-4: . patches/src680



Author: pmladek
Date: Thu Jun  5 16:38:54 2008
New Revision: 12811
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12811&view=rev

Log:
2008-06-02  Fridrich Strba  <fridrich strba bluewin ch>

	* patches/src680/sw-source-filter-ww8-wrtw8nds-out_of_bounds.diff
	* patches/src680/apply: prevent some out of bounds in WW8 exporter,
	fixes n#391197.



Added:
   branches/ooo-build-2-4/patches/src680/sw-source-filter-ww8-wrtw8nds-out_of_bounds.diff
Modified:
   branches/ooo-build-2-4/ChangeLog
   branches/ooo-build-2-4/patches/src680/apply

Modified: branches/ooo-build-2-4/patches/src680/apply
==============================================================================
--- branches/ooo-build-2-4/patches/src680/apply	(original)
+++ branches/ooo-build-2-4/patches/src680/apply	Thu Jun  5 16:38:54 2008
@@ -470,6 +470,9 @@
 # enable build debug=t in sw module on x86_64
 sw-debug-build.diff, fridrich
 
+# prevent some array out of bounds in ww8 exporter
+sw-source-filter-ww8-wrtw8nds-out_of_bounds.diff, n#391197, fridrich
+
 # convert kind of correctly nested positioned tables
 # sw-nested-positionned-tables-ww8-import-fix.diff, i#86988, fridrich
 

Added: branches/ooo-build-2-4/patches/src680/sw-source-filter-ww8-wrtw8nds-out_of_bounds.diff
==============================================================================
--- (empty file)
+++ branches/ooo-build-2-4/patches/src680/sw-source-filter-ww8-wrtw8nds-out_of_bounds.diff	Thu Jun  5 16:38:54 2008
@@ -0,0 +1,56 @@
+--- sw/source/filter/ww8/wrtw8nds.cxx	2008-06-02 11:37:38.000000000 +0200
++++ sw/source/filter/ww8/wrtw8nds.cxx	2008-06-02 13:07:41.000000000 +0200
+@@ -2391,7 +2391,7 @@
+         SwTwips nSz = 0, nCalc;
+         SwWW8Writer::InsUInt16( aAt, (USHORT)nTblOffset );
+ 
+-        for (nBox = 0, nRealBox = 0; nRealBox < nWWColMax; ++nBox)
++        for (nBox = 0, nRealBox = 0; nRealBox < nWWColMax && nBox < nColCnt; ++nBox)
+         {
+             if( (nBox > 0 && pBoxArr[ nBox-1 ] == pBoxArr[ nBox ])
+                 || pBoxArr[nBox] == NULL)
+@@ -2410,7 +2410,7 @@
+             ++nRealBox;
+         }
+ 
+-        for (nBox = 0, nRealBox = 0; nRealBox < nWWColMax; ++nBox)
++        for (nBox = 0, nRealBox = 0; nRealBox < nWWColMax && nBox < nColCnt; ++nBox)
+         {
+             if( nBox && pBoxArr[ nBox-1 ] == pBoxArr[ nBox ] )
+                 continue;
+@@ -2462,7 +2462,7 @@
+             const USHORT* pBrd = aBorders;
+ 
+             //Export non default border spacing
+-            for( nBox = 0, nRealBox = 0; nRealBox < nWWColMax; ++nBox)
++            for( nBox = 0, nRealBox = 0; nRealBox < nWWColMax && nBox < nColCnt; ++nBox)
+             {
+                 if( nBox && pBoxArr[ nBox-1 ] == pBoxArr[ nBox ] )
+                     continue;
+@@ -2487,7 +2487,7 @@
+             }
+ 
+             //Export any vertical direction cells
+-            for (nBox = 0, nRealBox = 0; nRealBox < nWWColMax; ++nBox)
++            for (nBox = 0, nRealBox = 0; nRealBox < nWWColMax && nBox < nColCnt; ++nBox)
+             {
+                 if( nBox && pBoxArr[nBox-1] == pBoxArr[nBox])
+                     continue;
+@@ -2529,7 +2529,7 @@
+         else
+         {
+             nBackg = 0;
+-            for( nBox = 0, nRealBox = 0; nRealBox < nWWColMax; ++nBox )
++            for( nBox = 0, nRealBox = 0; nRealBox < nWWColMax && nBox < nColCnt; ++nBox )
+             {
+                 if( nBox && pBoxArr[ nBox-1 ] == pBoxArr[ nBox ] )
+                     continue;
+@@ -2556,7 +2556,7 @@
+             Color *pColors = new Color[nBackg];
+ 
+             const SfxPoolItem* pI;
+-            for( nBox = 0, nRealBox = 0; nRealBox < nBackg; ++nBox )
++            for( nBox = 0, nRealBox = 0; nRealBox < nBackg && nBox < nColCnt; ++nBox )
+             {
+                 if( nBox && pBoxArr[ nBox-1 ] == pBoxArr[ nBox ] )
+                     continue;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]