diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-08-27 15:59:46 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-08-31 15:11:46 +0200 |
commit | dc350dee2e8d02e9efa49888f76f03c97fcfb22f (patch) | |
tree | 1a3147f8ff107ebcb7cf7c1e4b6bb9158c2513e8 /filter | |
parent | cffed0c4b50a568ad206d59e21f7d08176e73379 (diff) |
check returns of SeekToEndOfRecord
Change-Id: Ia593dd0e2239a97f17bb03f005d22028da482445
(cherry picked from commit d400f155fdc3867ad4a067c2bf85588fc0fbb2a2)
Reviewed-on: https://gerrit.libreoffice.org/18096
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/source/msfilter/msdffimp.cxx | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index ba0aae06a853..09458f8c4def 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -3253,12 +3253,19 @@ bool SvxMSDffManager::SeekToRec( SvStream& rSt, sal_uInt16 nRecId, sal_uLong nMa if ( pRecHd != NULL ) *pRecHd = aHd; else - aHd.SeekToBegOfRecord( rSt ); + { + bool bSeekSuccess = aHd.SeekToBegOfRecord(rSt); + if (!bSeekSuccess) + { + bRet = false; + break; + } + } } } if ( !bRet ) { - bool bSeekSuccess = aHd.SeekToEndOfRecord( rSt ); + bool bSeekSuccess = aHd.SeekToEndOfRecord(rSt); if (!bSeekSuccess) break; } @@ -3287,11 +3294,22 @@ bool SvxMSDffManager::SeekToRec2( sal_uInt16 nRecId1, sal_uInt16 nRecId2, sal_uL if ( pRecHd ) *pRecHd = aHd; else - aHd.SeekToBegOfRecord( rStCtrl ); + { + bool bSeekSuccess = aHd.SeekToBegOfRecord(rStCtrl); + if (!bSeekSuccess) + { + bRet = false; + break; + } + } } } if ( !bRet ) - aHd.SeekToEndOfRecord( rStCtrl ); + { + bool bSeekSuccess = aHd.SeekToEndOfRecord(rStCtrl); + if (!bSeekSuccess) + break; + } } while ( rStCtrl.good() && rStCtrl.Tell() < nMaxFilePos && !bRet ); if ( !bRet ) |