[Libreoffice-commits] .: sw/source

Caolán McNamara caolan at kemper.freedesktop.org
Fri Jul 8 05:38:36 PDT 2011


 sw/source/filter/ww8/ww8par6.cxx |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 79f14410f2db7d186c8b7ee94b09e8e362e74dfd
Author: marc-andre at atc.tcs.com <marc-andre at atc.tcs.com>
Date:   Fri Jul 8 14:23:34 2011 +0530

    Fixed a segmentation fault in some edge cases

diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index cd41644..131d49f 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -915,6 +915,7 @@ void wwSectionManager::CreateSep(const long nTxtPos, bool /*bMustHaveBreak*/)
         aNewSection.maSep.fEvenlySpaced =
             ReadBSprm(pSep, (eVer <= ww::eWW7 ? 138 : 0x3005), 1) ? true : false;
 
+        const sal_uInt8 numrgda = SAL_N_ELEMENTS(aNewSection.maSep.rgdxaColumnWidthSpacing);
         if (aNewSection.maSep.ccolM1 > 0 && !aNewSection.maSep.fEvenlySpaced)
         {
             aNewSection.maSep.rgdxaColumnWidthSpacing[0] = 0;
@@ -928,7 +929,8 @@ void wwSectionManager::CreateSep(const long nTxtPos, bool /*bMustHaveBreak*/)
                 OSL_ENSURE( pSW, "+Sprm 136 (bzw. 0xF203) (ColWidth) fehlt" );
                 sal_uInt16 nWidth = pSW ? SVBT16ToShort(pSW + 1) : 1440;
 
-                aNewSection.maSep.rgdxaColumnWidthSpacing[++nIdx] = nWidth;
+                if (++nIdx < numrgda)
+                    aNewSection.maSep.rgdxaColumnWidthSpacing[nIdx] = nWidth;
 
                 if (i < nCols-1)
                 {
@@ -939,7 +941,8 @@ void wwSectionManager::CreateSep(const long nTxtPos, bool /*bMustHaveBreak*/)
                     if( pSD )
                     {
                         nWidth = SVBT16ToShort(pSD + 1);
-                        aNewSection.maSep.rgdxaColumnWidthSpacing[++nIdx] = nWidth;
+                        if (++nIdx < numrgda)
+                            aNewSection.maSep.rgdxaColumnWidthSpacing[nIdx] = nWidth;
                     }
                 }
             }


More information about the Libreoffice-commits mailing list