summaryrefslogtreecommitdiffstats
path: root/abs/core/qt4/CVE-2014-0190.patch
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2014-12-04 21:23:57 (GMT)
committerBritney Fransen <brfransen@gmail.com>2014-12-04 21:23:57 (GMT)
commit167e1d1b4b9a7a188b14d2e3e818d8fd6f9707aa (patch)
tree818363d145684055677599f269942ae39a68e496 /abs/core/qt4/CVE-2014-0190.patch
parentdddcec05d0ea1abdeea08525e4a4c16efcc16295 (diff)
downloadlinhes_pkgbuild-167e1d1b4b9a7a188b14d2e3e818d8fd6f9707aa.zip
linhes_pkgbuild-167e1d1b4b9a7a188b14d2e3e818d8fd6f9707aa.tar.gz
linhes_pkgbuild-167e1d1b4b9a7a188b14d2e3e818d8fd6f9707aa.tar.bz2
qt4: update to 4.8.6
rename qt to qt4 to get ready for qt5
Diffstat (limited to 'abs/core/qt4/CVE-2014-0190.patch')
-rw-r--r--abs/core/qt4/CVE-2014-0190.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/abs/core/qt4/CVE-2014-0190.patch b/abs/core/qt4/CVE-2014-0190.patch
new file mode 100644
index 0000000..e97ee7b
--- /dev/null
+++ b/abs/core/qt4/CVE-2014-0190.patch
@@ -0,0 +1,32 @@
+Don't crash on broken GIF images
+
+Broken GIF images could set invalid width and height
+values inside the image, leading to Qt creating a null
+QImage for it. In that case we need to abort decoding
+the image and return an error.
+
+Initial patch by Rich Moore.
+
+Backport of Id82a4036f478bd6e49c402d6598f57e7e5bb5e1e from Qt 5
+
+Task-number: QTBUG-38367
+Change-Id: I0680740018aaa8356d267b7af3f01fac3697312a
+Security-advisory: CVE-2014-0190
+
+diff -up qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp
+--- qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 2014-04-10 13:37:12.000000000 -0500
++++ qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp 2014-04-24 15:58:54.515862458 -0500
+@@ -359,6 +359,13 @@ int QGIFFormat::decode(QImage *image, co
+ memset(bits, 0, image->byteCount());
+ }
+
++ // Check if the previous attempt to create the image failed. If it
++ // did then the image is broken and we should give up.
++ if (image->isNull()) {
++ state = Error;
++ return -1;
++ }
++
+ disposePrevious(image);
+ disposed = false;
+