sot/source/sdstor/stgelem.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 73e2c4f8c54c7803b2b3e5043bd49d477343a25b
Author: Oliver-Rainer Wittmann <o...@apache.org>
Date:   Thu Aug 22 12:38:02 2013 +0000

    122935: storage handling: adjust header field checking
    
    to import Microsoft Office documents in binary format created by Pages

diff --git a/sot/source/sdstor/stgelem.cxx b/sot/source/sdstor/stgelem.cxx
index 872d6e9..2e4bf39 100644
--- a/sot/source/sdstor/stgelem.cxx
+++ b/sot/source/sdstor/stgelem.cxx
@@ -198,7 +198,7 @@ sal_Bool StgHeader::Check()
             && nTOCstrm >= 0
             && nThreshold > 0
             && ( nDataFAT == STG_EOF || ( nDataFAT >= 0 && nDataFATSize > 0 ) )
-            && ( nMasterChain == STG_EOF || ( nMasterChain >=0 && nMaster > 0 
) )
+            && ( nMasterChain == STG_FREE || nMasterChain == STG_EOF || ( 
nMasterChain >=0 && nMaster > 0 ) )
             && nMaster >= 0;
 }
 
@@ -438,7 +438,7 @@ sal_Bool StgEntry::Load( const void* pFrom, sal_uInt32 
nBufSize )
         n = ( n >> 1 ) - 1;
     if ( n > 31 ||
          (nSize < 0 && cType != STG_STORAGE) ||
-         ( nPage1 < 0 && nPage1 != STG_EOF ) )
+         ( nPage1 < 0 && nPage1 != STG_FREE && nPage1 != STG_EOF ) )
     {
         // the size makes no sence for the substorage
         // TODO/LATER: actually the size should be an unsigned value, but in 
this case it would mean a stream of more than 2Gb
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to