14 lines
644 B
Diff
14 lines
644 B
Diff
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
|
|
index 587f375c..5dff4ab0 100644
|
|
--- a/src/gui/image/qbmphandler.cpp
|
|
+++ b/src/gui/image/qbmphandler.cpp
|
|
@@ -188,6 +188,8 @@ 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)
|
|
+ return false;
|
|
|
|
return true;
|
|
}
|