basctl/source/basicide/basides1.cxx    |    3 +++
 sw/qa/core/data/ww5/pass/ooo2535-1.doc |binary
 sw/qa/core/filters-test.cxx            |    4 ++++
 sw/source/filter/ww8/ww8scan.cxx       |   10 +++++++++-
 4 files changed, 16 insertions(+), 1 deletion(-)

New commits:
commit 2a151b7e3258f24299f885d020b07ab50582e7df
Author: Noel Power <[email protected]>
Date:   Thu Sep 12 21:37:42 2013 +0100

    fix for fdo#69173 crasher
    
    the layout changes for the basic IDE ( for the object browser and object
    catalog ) seem flacky, I have seen since those changes have been introduced
    some strange ( but random ) behaviour ( like the odd unrepeatable core ( 
maybe
    related to this ) and also sometimes Modules appearing in the tree under the
    wrong nodes etc. I'm no expert in the basic IDE code but this patch seems to
    fix the problem.
    However there is one drawback, in the core inducing scenario the tree view
    ( object catalog ) dissappears, this is because the patch suppresses the
    problematic layout in this case ( as the layout seem not to be currently 
able
    to deal with 'no-existent' (recently) deleted current window )
    Probably in this scenario a fallback currentwin (instead of nil) could be 
set
    this would behave better but ideally. Ultimately the layout class should
    probably be modified ( possibly redesigned )
    
    Change-Id: I9d1e23bd6fc4aae32aa78da8278c318f7051136a

diff --git a/basctl/source/basicide/basides1.cxx 
b/basctl/source/basicide/basides1.cxx
index 85da8ae..a7babde 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -1010,7 +1010,10 @@ void Shell::SetCurWindow( BaseWindow* pNewWin, bool 
bUpdateTabBar, bool bRemembe
             }
         }
         else
+        {
+            SetWindow(pLayout);
             pLayout = 0;
+        }
         if ( bUpdateTabBar )
         {
             sal_uLong nKey = GetWindowId( pCurWin );
commit c0cf51a499ec52b23443393b67425ab557328a9a
Author: Caolán McNamara <[email protected]>
Date:   Wed Sep 11 09:32:11 2013 +0100

    CID#736212 clip word 2 pap bounds
    
    and add a unit test for the word 2..5 formats
    
    (cherry picked from commit 5d8a9d56de7c1217cfdbe2288c1a3a9128c3dbb5)
    
    Conflicts:
        sw/qa/core/filters-test.cxx
    
    Change-Id: I6c7c26be6092acbb81282080de6c393d92ad5dd4
    Reviewed-on: https://gerrit.libreoffice.org/5912
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Michael Stahl <[email protected]>

diff --git a/sw/qa/core/data/ww5/fail/.gitignore 
b/sw/qa/core/data/ww5/fail/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/sw/qa/core/data/ww5/indeterminate/.gitignore 
b/sw/qa/core/data/ww5/indeterminate/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/sw/qa/core/data/ww5/pass/.gitignore 
b/sw/qa/core/data/ww5/pass/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/sw/qa/core/data/ww5/pass/ooo2535-1.doc 
b/sw/qa/core/data/ww5/pass/ooo2535-1.doc
new file mode 100644
index 0000000..2c594f5
Binary files /dev/null and b/sw/qa/core/data/ww5/pass/ooo2535-1.doc differ
diff --git a/sw/qa/core/filters-test.cxx b/sw/qa/core/filters-test.cxx
index 9905b23..e54cec5 100644
--- a/sw/qa/core/filters-test.cxx
+++ b/sw/qa/core/filters-test.cxx
@@ -124,6 +124,10 @@ void SwFiltersTest::testCVEs()
             getURLFromSrc("/sw/qa/core/data/ww8/"),
             rtl::OUString(FILTER_WW8));
 
+    testDir(rtl::OUString("MS WinWord 5"),
+            getURLFromSrc("/sw/qa/core/data/ww5/"),
+            rtl::OUString(sWW5));
+
     testDir(rtl::OUString("Text (encoded)"),
             getURLFromSrc("/sw/qa/core/data/txt/"),
             rtl::OUString(FILTER_TEXT_DLG));
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index e9ef6f8..3b0acb5 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -2521,7 +2521,15 @@ WW8PLCFx_Fc_FKP::WW8Fkp::WW8Fkp(ww::WordVersion 
eVersion, SvStream* pSt,
                                 {
                                     aEntry.mnLen-=6; //PHE
                                     //skipi stc, len byte + 6 byte PHE
-                                    aEntry.mpData = maRawData + nOfs + 8;
+                                    unsigned int nOffset = nOfs + 8;
+                                    if (nOffset >= 511) //Bad offset
+                                        aEntry.mnLen=0;
+                                    if (aEntry.mnLen)   //start is ok
+                                    {
+                                        if (nOffset + aEntry.mnLen > 512)   
//Bad end, clip
+                                            aEntry.mnLen = 512 - nOffset;
+                                        aEntry.mpData = maRawData + nOffset;
+                                    }
                                 }
                                 else
                                     aEntry.mnLen=0; //Too short
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to