sot/qa/cppunit/data/pass/tdf112399-1.compound |binary
 sot/source/sdstor/stgelem.cxx                 |   12 ++++++++++++
 2 files changed, 12 insertions(+)

New commits:
commit 9e60b45997d74955e5b997d58a1cb357f27d4407
Author: Caolán McNamara <caol...@redhat.com>
Date:   Mon Sep 18 21:17:32 2017 +0100

    tdf#112399 ignore size of unknown/unused ole2 entries
    
    Change-Id: I9908453c1a11997141f7d6c4e1dccff53984321c
    Reviewed-on: https://gerrit.libreoffice.org/42438
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@redhat.com>

diff --git a/sot/qa/cppunit/data/fail/fdo41642-2.compound 
b/sot/qa/cppunit/data/pass/fdo41642-2.compound
similarity index 100%
rename from sot/qa/cppunit/data/fail/fdo41642-2.compound
rename to sot/qa/cppunit/data/pass/fdo41642-2.compound
diff --git a/sot/qa/cppunit/data/pass/tdf112399-1.compound 
b/sot/qa/cppunit/data/pass/tdf112399-1.compound
new file mode 100644
index 000000000000..d3628def0c01
Binary files /dev/null and b/sot/qa/cppunit/data/pass/tdf112399-1.compound 
differ
diff --git a/sot/source/sdstor/stgelem.cxx b/sot/source/sdstor/stgelem.cxx
index 0fb80c4a36cc..c44d15849259 100644
--- a/sot/source/sdstor/stgelem.cxx
+++ b/sot/source/sdstor/stgelem.cxx
@@ -424,6 +424,18 @@ bool StgEntry::Load(const void* pFrom, sal_uInt32 
nBufSize, sal_uInt64 nUnderlyi
             //bad pageid
             return false;
         }
+        if (m_cType == STG_EMPTY)
+        {
+            /*
+             tdf#112399 opens fine in MSOffice 2013 despite a massive m_nSize 
field
+
+             Free (unused) directory entries are marked with Object Type 0x0
+             (unknown or unallocated). The entire directory entry must consist 
of
+             all zeroes except for the child, right sibling, and left sibling
+             pointers, which must be initialized to NOSTREAM (0xFFFFFFFF).
+            */
+            m_nSize = 0;
+        }
         if (m_nSize < 0)
         {
             // the size makes no sense for the substorage
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to