[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3-desktop' - 3 commits - filter/source sd/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Thu Aug 22 13:55:47 UTC 2019


 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 <caolanm at redhat.com>
AuthorDate: Sun Nov 26 20:45:10 2017 +0000
Commit:     Andras Timar <andras.timar at 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 <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at 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 <caolanm at redhat.com>
AuthorDate: Sat Apr 8 20:31:35 2017 +0100
Commit:     Andras Timar <andras.timar at 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 <caolanm at redhat.com>
AuthorDate: Fri Apr 7 20:49:52 2017 +0100
Commit:     Andras Timar <andras.timar at 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 <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at 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;


More information about the Libreoffice-commits mailing list