summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTang HaiXiang <tanghaixiang@uniontech.com>2020-07-06 14:27:49 +0800
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-07-14 08:25:47 +0000
commit61fced375a202dbf48ceb22153c2976d91ad989b (patch)
tree4b3bf7bd11c49a471af3b34c6189b0cfef746b3a
parent1ac7bf1ed45644b68b8cbf24b34aa39a812b7739 (diff)
Fix gif parsing error for large images
A very large GIF image resulted in cropping of image updates, due to the handler trying to protect against very large values. Increase that size from 200 to 16384, which is also the value used in the withinSizeLimit method. Fixes: QTBUG-85340 Pick-to: 5.15 Change-Id: I70888d76b378ee4f49694e90d7d753fae817ff2a Reviewed-by: Lu YaNing <luyaning@uniontech.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r--src/plugins/imageformats/gif/qgifhandler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/imageformats/gif/qgifhandler.cpp b/src/plugins/imageformats/gif/qgifhandler.cpp
index b6322f0f4d..23a768e3d3 100644
--- a/src/plugins/imageformats/gif/qgifhandler.cpp
+++ b/src/plugins/imageformats/gif/qgifhandler.cpp
@@ -342,9 +342,9 @@ int QGIFFormat::decode(QImage *image, const uchar *buffer, int length,
// disbelieve ridiculous logical screen sizes,
// unless the image frames are also large.
- if (swidth/10 > qMax(newwidth,200))
+ if (swidth/10 > qMax(newwidth,16384))
swidth = -1;
- if (sheight/10 > qMax(newheight,200))
+ if (sheight/10 > qMax(newheight,16384))
sheight = -1;
if (swidth <= 0)