From 0d658dfc8ffdc91f3dcb2bd34dde1dbae76ad8ae Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 30 Mar 2017 14:02:51 +0100 Subject: ofz#969 endless loop in ppt loading Change-Id: If68bf21cd135c64957cc6def654230daa5240698 --- filter/source/msfilter/svdfppt.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'filter') diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index d7c9a007694a..4b31ec3ef5ef 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -1380,14 +1380,14 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O if ( aPersistHd.nRecType == PPT_PST_PersistPtrIncrementalBlock ) { sal_uLong nPibLen = aPersistHd.GetRecEndFilePos(); - while ( bOk && ( rStCtrl.GetError() == 0 ) && ( rStCtrl.Tell() < nPibLen ) ) + while (bOk && rStCtrl.good() && (rStCtrl.Tell() < nPibLen)) { sal_uInt32 nOfs(0); rStCtrl.ReadUInt32( nOfs ); sal_uInt32 nAnz = nOfs; nOfs &= 0x000FFFFF; nAnz >>= 20; - while ( bOk && ( rStCtrl.GetError() == 0 ) && ( nAnz > 0 ) && ( nOfs <= nPersistPtrAnz ) ) + while (bOk && rStCtrl.good() && (nAnz > 0) && (nOfs <= nPersistPtrAnz)) { sal_uInt32 nPt(0); rStCtrl.ReadUInt32( nPt ); -- cgit