diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-14 11:18:35 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-03-14 11:29:27 +0000 |
commit | f25cdaf6cba85a6a161755fe5f8067e479ab0414 (patch) | |
tree | 7e4a82b8ba18574bc50a6c8f4909f290ad9d3bd2 | |
parent | 2cc5f18d10cf6ef1349d9518e6f67977f7c5d9bf (diff) |
ofz: reject broken rle bmps
Change-Id: I1354d4aa4d7e46cd3bf463e3350071aad3ff5674
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/bmp/fail/afl-sample-bad-rle-1.bmp (renamed from vcl/qa/cppunit/graphicfilter/data/bmp/pass/afl-sample-bad-rle-1.bmp) | bin | 1038 -> 1038 bytes | |||
-rw-r--r-- | vcl/source/gdi/dibtools.cxx | 3 |
2 files changed, 2 insertions, 1 deletions
diff --git a/vcl/qa/cppunit/graphicfilter/data/bmp/pass/afl-sample-bad-rle-1.bmp b/vcl/qa/cppunit/graphicfilter/data/bmp/fail/afl-sample-bad-rle-1.bmp Binary files differindex 1ca6e0008be4..1ca6e0008be4 100644 --- a/vcl/qa/cppunit/graphicfilter/data/bmp/pass/afl-sample-bad-rle-1.bmp +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/fail/afl-sample-bad-rle-1.bmp diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx index 534a50dec7ac..1559a6ac189f 100644 --- a/vcl/source/gdi/dibtools.cxx +++ b/vcl/source/gdi/dibtools.cxx @@ -538,7 +538,8 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r { return false; } - ImplDecodeRLE(pBuffer.get(), rHeader, rAcc, RLE_4 == rHeader.nCompression); + if (!ImplDecodeRLE(pBuffer.get(), rHeader, rAcc, RLE_4 == rHeader.nCompression)) + return false; } else { |