[Libreoffice-commits] core.git: Branch 'aoo/trunk' - sot/source
Oliver-Rainer Wittmann
orw at apache.org
Thu Aug 22 07:07:50 PDT 2013
sot/source/sdstor/stgelem.cxx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit 73e2c4f8c54c7803b2b3e5043bd49d477343a25b
Author: Oliver-Rainer Wittmann <orw at 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
More information about the Libreoffice-commits
mailing list