diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-01-04 21:27:40 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2022-01-06 18:14:30 +0100 |
commit | d5288dd29611f2e5c4140724255cea8e7bb2b25b (patch) | |
tree | 182782c3d44aaa00fce12be2f49648e5b374e7b4 /sd | |
parent | 67fb363eed88b15eec7821fe604eb23d142d84cc (diff) |
ofz#42785 Timeout
Stream::Seek (like istream::seekg) clears any eofbit
Change-Id: I90253e69a52c4099aa2971294a215dff37e8a246
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127975
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/filter/ppt/pptatom.cxx | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sd/source/filter/ppt/pptatom.cxx b/sd/source/filter/ppt/pptatom.cxx index 90e61e738ffb..20d52eb8c63f 100644 --- a/sd/source/filter/ppt/pptatom.cxx +++ b/sd/source/filter/ppt/pptatom.cxx @@ -39,13 +39,11 @@ Atom::Atom( const DffRecordHeader& rRecordHeader, SvStream& rStream ) // retrieve file size (to allow sanity checks) sal_uInt64 const nStreamSize = mrStream.TellEnd(); - while( (mrStream.GetError() == ERRCODE_NONE ) + while( mrStream.good() && ( mrStream.Tell() < nStreamSize ) && ( mrStream.Tell() < maRecordHeader.GetRecEndFilePos() ) ) { - ReadDffRecordHeader( mrStream, aChildHeader ); - - if( mrStream.GetError() == ERRCODE_NONE ) + if (ReadDffRecordHeader(mrStream, aChildHeader)) { Atom* pAtom = new Atom( aChildHeader, mrStream ); |