Blame SOURCES/qt-check-for-qimage-allocation-failure-in-qgifhandler.patch

9c5ecf
diff --git a/src/gui/image/qgifhandler.cpp b/src/gui/image/qgifhandler.cpp
9c5ecf
index 2a9217a2..28823f84 100644
9c5ecf
--- a/src/gui/image/qgifhandler.cpp
9c5ecf
+++ b/src/gui/image/qgifhandler.cpp
9c5ecf
@@ -356,7 +356,8 @@ int QGIFFormat::decode(QImage *image, const uchar *buffer, int length,
9c5ecf
                     (*image) = QImage(swidth, sheight, format);
9c5ecf
                     bpl = image->bytesPerLine();
9c5ecf
                     bits = image->bits();
9c5ecf
-                    memset(bits, 0, image->byteCount());
9c5ecf
+                    if (bits)
9c5ecf
+                        memset(bits, 0, image->byteCount());
9c5ecf
                 }
9c5ecf
 
9c5ecf
                 // Check if the previous attempt to create the image failed. If it
9c5ecf
@@ -417,6 +418,10 @@ int QGIFFormat::decode(QImage *image, const uchar *buffer, int length,
9c5ecf
                         backingstore = QImage(qMax(backingstore.width(), w),
9c5ecf
                                               qMax(backingstore.height(), h),
9c5ecf
                                               QImage::Format_RGB32);
9c5ecf
+                        if (backingstore.isNull()) {
9c5ecf
+                            state = Error;
9c5ecf
+                            return -1;
9c5ecf
+                        }
9c5ecf
                         memset(bits, 0, image->byteCount());
9c5ecf
                     }
9c5ecf
                     const int dest_bpl = backingstore.bytesPerLine();