summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-01 03:01:55 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-01 03:01:55 +0200
commitdd38f75d8614e5d4e1906594e1d83f284af42457 (patch)
treef56181b6645d9f9b32ad1a03fafdd6dfe1012164
parent2842212e88afb200a0fcfda7d306c4e8eee26407 (diff)
parent7cfe47a8fe2f987fb2a066a696fb3d9d0afe4d65 (diff)
Merge remote-tracking branch 'origin/5.11' into 5.12
-rw-r--r--src/plugins/imageformats/tga/qtgafile.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/imageformats/tga/qtgafile.cpp b/src/plugins/imageformats/tga/qtgafile.cpp
index 97510df..5d086c6 100644
--- a/src/plugins/imageformats/tga/qtgafile.cpp
+++ b/src/plugins/imageformats/tga/qtgafile.cpp
@@ -163,6 +163,12 @@ QTgaFile::QTgaFile(QIODevice *device)
if (!validDepth)
{
mErrorMessage = tr("Image depth not valid");
+ return;
+ }
+ if (quint64(width()) * quint64(height()) > (8192 * 8192))
+ {
+ mErrorMessage = tr("Image size exceeds limit");
+ return;
}
int curPos = mDevice->pos();
int fileBytes = mDevice->size();
@@ -233,6 +239,8 @@ QImage QTgaFile::readImage()
unsigned char yCorner = desc & 0x20; // 0 = lower, 1 = upper
QImage im(imageWidth, imageHeight, QImage::Format_ARGB32);
+ if (im.isNull())
+ return QImage();
TgaReader *reader = 0;
if (bitsPerPixel == 16)
reader = new Tga16Reader();