comphelper/source/misc/backupfilehelper.cxx |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

New commits:
commit 724f2b20d83c340d9cb1221766a741f432ed9204
Author: Caolán McNamara <caol...@redhat.com>
Date:   Wed Oct 19 15:07:14 2016 +0100

    coverity#1373663 Untrusted loop bound
    
    Change-Id: Iabad14f8fc35656015b98693dd327a41aeaf63c7

diff --git a/comphelper/source/misc/backupfilehelper.cxx 
b/comphelper/source/misc/backupfilehelper.cxx
index 60ad11a9..5c55ca4 100644
--- a/comphelper/source/misc/backupfilehelper.cxx
+++ b/comphelper/source/misc/backupfilehelper.cxx
@@ -105,14 +105,7 @@ namespace
         // read rTarget
         if (osl::File::E_None == rFile->read(static_cast<void*>(aArray), 4, 
nBaseRead) && 4 == nBaseRead)
         {
-            //This is untainted data which comes from a controlled source
-            //so, using a byte-swapping pattern which coverity doesn't
-            //detect as such
-            
//http://security.coverity.com/blog/2014/Apr/on-detecting-heartbleed-with-static-analysis.html
-            rTarget = aArray[0]; rTarget <<= 8;
-            rTarget |= aArray[1]; rTarget <<= 8;
-            rTarget |= aArray[2]; rTarget <<= 8;
-            rTarget |= aArray[3];
+            rTarget = (sal_uInt32(aArray[0]) << 24) + (sal_uInt32(aArray[1]) 
<< 16) + (sal_uInt32(aArray[2]) << 8) + sal_uInt32(aArray[3]);
             return true;
         }
 
@@ -674,6 +667,13 @@ namespace
                 return false;
             }
 
+            // coverity#1373663 Untrusted loop bound, check file size
+            // isn't utterly broken
+            sal_uInt64 nFileSize(0);
+            rFile->getSize(nFileSize);
+            if (nFileSize < nExtEntries)
+                return false;
+
             for (sal_uInt32 a(0); a < nExtEntries; a++)
             {
                 ExtensionInfoEntry aNewEntry;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to