filter/source/msfilter/msdffimp.cxx | 26 ++++++++++++++++++-------- sd/source/filter/ppt/pptin.cxx | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-)
New commits: commit c61ed488f9ed8375e02d8fd41fbe3a0901cd311a Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Sun Nov 26 20:45:10 2017 +0000 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Thu Aug 22 15:54:41 2019 +0200 ofz#4436 check if seek succeeded Change-Id: I56d9692647b28c706b56ccacf08d494b3d830d94 Reviewed-on: https://gerrit.libreoffice.org/45296 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> (cherry picked from commit 765ff606426251f90aff5d1fc89f01ed7594ed59) diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 1e4023c4d021..a3d1b2909fb6 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -6046,7 +6046,10 @@ bool SvxMSDffManager::GetShapeGroupContainerData( SvStream& rSt, return false; } else - rSt.SeekRel( nLength ); + { + if (!checkSeek(rSt, rSt.Tell() + nLength)) + return false; + } nReadSpGrCont += nLength; } while( nReadSpGrCont < nLenShapeGroupCont ); diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index f54b6afe0d2e..b29156594855 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -854,7 +854,7 @@ bool ImplSdPPTImport::Import() bool bSuccess = aHd.SeekToEndOfRecord(rStCtrl); if (!bSuccess) { - SAL_WARN("filter.ms", "Count not seek to end of record"); + SAL_WARN("filter.ms", "Could not seek to end of record"); break; } } commit 74d737aecd0821a255f5ba98be3239a6ff1df984 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Sat Apr 8 20:31:35 2017 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Thu Aug 22 15:54:21 2019 +0200 limit symbol visibility Change-Id: I54d5fbe1cd9d5ae94cb134f08fc00593c802ebee (cherry picked from commit 79890a6d1bccbba8c40e42566c3d437d7a1aaace) diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 720fac503635..1e4023c4d021 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -222,10 +222,13 @@ DffPropertyReader::DffPropertyReader( const SvxMSDffManager& rMan ) InitializePropSet( DFF_msofbtOPT ); } -bool checkSeek(SvStream &rSt, sal_uInt32 nOffset) +namespace { - const sal_uInt64 nMaxSeek(rSt.Tell() + rSt.remainingSize()); - return (nOffset <= nMaxSeek && rSt.Seek(nOffset) == nOffset); + bool checkSeek(SvStream &rSt, sal_uInt32 nOffset) + { + const sal_uInt64 nMaxSeek(rSt.Tell() + rSt.remainingSize()); + return (nOffset <= nMaxSeek && rSt.Seek(nOffset) == nOffset); + } } void DffPropertyReader::SetDefaultPropSet( SvStream& rStCtrl, sal_uInt32 nOffsDgg ) const commit 17afdae82f7c9968a372cb70e5792547b50c10ac Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Apr 7 20:49:52 2017 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Thu Aug 22 15:54:06 2019 +0200 check escher seeks Change-Id: I4cb523e8654defa25e75ebd54f1e125ea02e1cf9 Reviewed-on: https://gerrit.libreoffice.org/36281 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit a1147a34d85742fd5d9410efac6fc59ac2fd1574) diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 508bee068d02..720fac503635 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -222,13 +222,20 @@ DffPropertyReader::DffPropertyReader( const SvxMSDffManager& rMan ) InitializePropSet( DFF_msofbtOPT ); } +bool checkSeek(SvStream &rSt, sal_uInt32 nOffset) +{ + const sal_uInt64 nMaxSeek(rSt.Tell() + rSt.remainingSize()); + return (nOffset <= nMaxSeek && rSt.Seek(nOffset) == nOffset); +} + void DffPropertyReader::SetDefaultPropSet( SvStream& rStCtrl, sal_uInt32 nOffsDgg ) const { delete pDefaultPropSet; sal_uInt32 nMerk = rStCtrl.Tell(); - rStCtrl.Seek( nOffsDgg ); + bool bOk = checkSeek(rStCtrl, nOffsDgg); DffRecordHeader aRecHd; - bool bOk = ReadDffRecordHeader( rStCtrl, aRecHd ); + if (bOk) + bOk = ReadDffRecordHeader( rStCtrl, aRecHd ); if (bOk && aRecHd.nRecType == DFF_msofbtDggContainer) { if ( SvxMSDffManager::SeekToRec( rStCtrl, DFF_msofbtOPT, aRecHd.GetRecEndFilePos() ) ) @@ -5839,13 +5846,10 @@ void SvxMSDffManager::CheckTxBxStoryChain() and remembering the File-Offsets for each Blip ============ ******************************************************************************/ -void SvxMSDffManager::GetCtrlData( sal_uInt32 nOffsDgg_ ) +void SvxMSDffManager::GetCtrlData(sal_uInt32 nOffsDggL) { - // absolutely remember Start Offset, in case we have to position again - sal_uInt32 nOffsDggL = nOffsDgg_; - // position control stream - if (nOffsDggL != rStCtrl.Seek(nOffsDggL)) + if (!checkSeek(rStCtrl, nOffsDggL)) return; sal_uInt8 nVer; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits