[Libreoffice-commits] core.git: filter/source sd/qa

Caolán McNamara caolanm at redhat.com
Thu Aug 27 08:43:41 PDT 2015


 filter/source/msfilter/msdffimp.cxx  |   26 ++++++++++++++++++++++----
 sd/qa/unit/data/ppt/pass/hang-11.ppt |binary
 sd/qa/unit/data/ppt/pass/hang-12.ppt |binary
 3 files changed, 22 insertions(+), 4 deletions(-)

New commits:
commit d400f155fdc3867ad4a067c2bf85588fc0fbb2a2
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Aug 27 15:59:46 2015 +0100

    check returns of SeekToEndOfRecord
    
    Change-Id: Ia593dd0e2239a97f17bb03f005d22028da482445

diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index f61869e..7cfde35 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -3264,12 +3264,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;
         }
@@ -3298,11 +3305,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 )
diff --git a/sd/qa/unit/data/ppt/pass/hang-11.ppt b/sd/qa/unit/data/ppt/pass/hang-11.ppt
new file mode 100644
index 0000000..2d9ef18
Binary files /dev/null and b/sd/qa/unit/data/ppt/pass/hang-11.ppt differ
diff --git a/sd/qa/unit/data/ppt/pass/hang-12.ppt b/sd/qa/unit/data/ppt/pass/hang-12.ppt
new file mode 100644
index 0000000..921481c
Binary files /dev/null and b/sd/qa/unit/data/ppt/pass/hang-12.ppt differ


More information about the Libreoffice-commits mailing list