filter/source/msfilter/msdffimp.cxx | 6 ++++-- sd/qa/unit/data/ppt/pass/hang-13.ppt |binary 2 files changed, 4 insertions(+), 2 deletions(-)
New commits: commit 0c713e45f9831073e34777f50abf9b5801f08ed9 Author: Caolán McNamara <[email protected]> Date: Thu Aug 27 20:16:58 2015 +0100 check seek Change-Id: I358758999bb918e73cdee2224e575e72c2131453 diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 7cfde35..011624a 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -410,7 +410,8 @@ SvStream& ReadSvxMSDffSolverContainer( SvStream& rIn, SvxMSDffSolverContainer& r if ( aHd.nRecType == DFF_msofbtSolverContainer ) { DffRecordHeader aCRule; - while ( ( rIn.GetError() == 0 ) && ( rIn.Tell() < aHd.GetRecEndFilePos() ) ) + auto nEndPos = DffPropSet::SanitizeEndPos(rIn, aHd.GetRecEndFilePos()); + while ( ( rIn.GetError() == 0 ) && ( rIn.Tell() < nEndPos ) ) { ReadDffRecordHeader( rIn, aCRule ); if ( aCRule.nRecType == DFF_msofbtConnectorRule ) @@ -419,7 +420,8 @@ SvStream& ReadSvxMSDffSolverContainer( SvStream& rIn, SvxMSDffSolverContainer& r rIn >> *pRule; rContainer.aCList.push_back( pRule ); } - aCRule.SeekToEndOfRecord( rIn ); + if (!aCRule.SeekToEndOfRecord(rIn)) + break; } } return rIn; diff --git a/sd/qa/unit/data/ppt/pass/hang-13.ppt b/sd/qa/unit/data/ppt/pass/hang-13.ppt new file mode 100644 index 0000000..04fbdc5 Binary files /dev/null and b/sd/qa/unit/data/ppt/pass/hang-13.ppt differ
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
