[Libreoffice-commits] core.git: vcl/source

Caolán McNamara caolanm at redhat.com
Sun Mar 12 21:08:51 UTC 2017


 vcl/source/filter/ixpm/xpmread.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 2a118816d90e8daa36a447db7cf4718830450099
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Mar 12 21:06:23 2017 +0000

    ofz#827 avoid oom in xpms
    
    Change-Id: I323be5e042e0ccb21956def70a8c481833f43998

diff --git a/vcl/source/filter/ixpm/xpmread.cxx b/vcl/source/filter/ixpm/xpmread.cxx
index 6d348eb..19b3fd4 100644
--- a/vcl/source/filter/ixpm/xpmread.cxx
+++ b/vcl/source/filter/ixpm/xpmread.cxx
@@ -160,6 +160,10 @@ ReadState XPMReader::ReadXPM( Graphic& rGraphic )
                 mbStatus = false;
             if ( ( mnWidth * mnCpp ) >= XPMSTRINGBUF )
                 mbStatus = false;
+            //xpms are a minimum of one character (one byte) per pixel, so if the file isn't
+            //even that long, its not all there
+            if (mrIStm.remainingSize() < static_cast<sal_uInt64>(mnWidth) * mnHeight)
+                mbStatus = false;
             if ( mbStatus && mnWidth && mnHeight && mnColors && mnCpp )
             {
                 mnIdentifier = XPMCOLORS;


More information about the Libreoffice-commits mailing list