diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2022-11-04 08:56:42 +0100 |
---|---|---|
committer | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2022-11-04 15:50:10 +0100 |
commit | 7c4b3648cad7faf990397af0b8a81664658c2d4f (patch) | |
tree | aae2bf8d3b8ebd1994eca942856645c10374f9f6 /src/gui/image/qimage.cpp | |
parent | 124d68273952ada7c64f99dea9dbb94aab6aefe6 (diff) |
Handle allocation failure in QImage rotate 90/180/270 functions
Fixes: QTBUG-108186
Pick-to: 6.4 6.2 5.15
Change-Id: I354e75d9f063cdea0340b84e9585a61651a7c70f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/gui/image/qimage.cpp')
-rw-r--r-- | src/gui/image/qimage.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index c4bd15d95b..f1029e786d 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -4674,6 +4674,8 @@ QImage QImage::smoothScaled(int w, int h) const static QImage rotated90(const QImage &image) { QImage out(image.height(), image.width(), image.format()); + if (out.isNull()) + return out; copyMetadata(&out, image); if (image.colorCount() > 0) out.setColorTable(image.colorTable()); @@ -4702,6 +4704,8 @@ static QImage rotated180(const QImage &image) return image.mirrored(true, true); QImage out(image.width(), image.height(), image.format()); + if (out.isNull()) + return out; copyMetadata(&out, image); if (image.colorCount() > 0) out.setColorTable(image.colorTable()); @@ -4714,6 +4718,8 @@ static QImage rotated180(const QImage &image) static QImage rotated270(const QImage &image) { QImage out(image.height(), image.width(), image.format()); + if (out.isNull()) + return out; copyMetadata(&out, image); if (image.colorCount() > 0) out.setColorTable(image.colorTable()); |