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

New commits:
commit 2a118816d90e8daa36a447db7cf4718830450099
Author: Caolán McNamara <caol...@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;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to