[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - 2 commits - basctl/source sw/qa sw/source

Noel Power noel.power at suse.com
Sun Sep 15 17:22:55 PDT 2013


 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 <noel.power at suse.com>
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 <caolanm at redhat.com>
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 <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

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


More information about the Libreoffice-commits mailing list