diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2019-01-04 10:32:28 +0100 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2019-01-08 16:35:15 +0000 |
commit | 74c8aa76089ce0b16ddd4d560530cf6df85d397e (patch) | |
tree | 52a9054dab75bf0475b62f80879070d08f6eb203 | |
parent | 81c3c66bb44c98b29a0181450ffa38a1c1fa06d9 (diff) |
bmp image handler: Reject invalid 0-dimension files early
Avoid spending time on decoding attempt of invalid bmp files
specifying height or width as 0.
Change-Id: Ia6666088515eee54777f7154868fb7d07c6b4438
Done-with: Albert Astals Cid <albert.astals.cid@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
-rw-r--r-- | src/gui/image/qbmphandler.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp index 5dff4ab0ac..7257853c3e 100644 --- a/src/gui/image/qbmphandler.cpp +++ b/src/gui/image/qbmphandler.cpp @@ -188,7 +188,7 @@ static bool read_dib_infoheader(QDataStream &s, BMP_INFOHDR &bi) if (!(comp == BMP_RGB || (nbits == 4 && comp == BMP_RLE4) || (nbits == 8 && comp == BMP_RLE8) || ((nbits == 16 || nbits == 32) && comp == BMP_BITFIELDS))) return false; // weird compression type - if (bi.biWidth < 0 || quint64(bi.biWidth) * qAbs(bi.biHeight) > 16384 * 16384) + if (bi.biWidth <= 0 || !bi.biHeight || quint64(bi.biWidth) * qAbs(bi.biHeight) > 16384 * 16384) return false; return true; |