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