Blob Blame History Raw
diff -ur qt-x11-free-3.3.8b/src/kernel/qasyncimageio.cpp qt-x11-free-3.3.8b-CVE-2014-0190/src/kernel/qasyncimageio.cpp
--- qt-x11-free-3.3.8b/src/kernel/qasyncimageio.cpp	2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-CVE-2014-0190/src/kernel/qasyncimageio.cpp	2014-05-29 22:24:57.000000000 +0200
@@ -904,7 +904,12 @@
 		    sheight = newtop + newheight;
 
 		if (img.isNull()) {
-		    img.create(swidth, sheight, 32);
+		    if (!img.create(swidth, sheight, 32)) {
+			// Check if the attempt to create the image failed. If
+			// it did, the image is broken and we should give up.
+			state = Error;
+			return -1;
+		    }
 		    memset( img.bits(), 0, img.numBytes() );
 		    if (consumer) consumer->setSize(swidth, sheight);
 		}