diff options
author | Tang HaiXiang <tanghaixiang@uniontech.com> | 2020-07-06 14:27:49 +0800 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-07-14 08:25:47 +0000 |
commit | 61fced375a202dbf48ceb22153c2976d91ad989b (patch) | |
tree | 4b3bf7bd11c49a471af3b34c6189b0cfef746b3a | |
parent | 1ac7bf1ed45644b68b8cbf24b34aa39a812b7739 (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.cpp | 4 |
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) |