diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2018-07-27 03:50:15 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2018-07-27 03:51:42 -0500 |
commit | f62d8bebeb279b40a5d31375f78410785f312e36 (patch) | |
tree | e31720ffaf899a2ac1bec30a2d0c85814ddf9128 /user/libgd/CVE-2016-7568.patch | |
parent | d33bd90526f628265f6dccb570a2ce93ee06ac84 (diff) | |
download | packages-f62d8bebeb279b40a5d31375f78410785f312e36.tar.gz packages-f62d8bebeb279b40a5d31375f78410785f312e36.tar.bz2 packages-f62d8bebeb279b40a5d31375f78410785f312e36.tar.xz packages-f62d8bebeb279b40a5d31375f78410785f312e36.zip |
user/libgd: pull in and modernise the package formerly known as gd
Diffstat (limited to 'user/libgd/CVE-2016-7568.patch')
-rw-r--r-- | user/libgd/CVE-2016-7568.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/user/libgd/CVE-2016-7568.patch b/user/libgd/CVE-2016-7568.patch new file mode 100644 index 000000000..56156411e --- /dev/null +++ b/user/libgd/CVE-2016-7568.patch @@ -0,0 +1,33 @@ +From 2806adfdc27a94d333199345394d7c302952b95f Mon Sep 17 00:00:00 2001 +From: trylab <trylab@users.noreply.github.com> +Date: Tue, 6 Sep 2016 18:35:32 +0800 +Subject: [PATCH] Fix integer overflow in gdImageWebpCtx + +Integer overflow can be happened in expression gdImageSX(im) * 4 * +gdImageSY(im). It could lead to heap buffer overflow in the following +code. This issue has been reported to the PHP Bug Tracking System. The +proof-of-concept file will be supplied some days later. This issue was +discovered by Ke Liu of Tencent's Xuanwu LAB. +--- + src/gd_webp.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/gd_webp.c b/src/gd_webp.c +index 8eb4dee..9886399 100644 +--- a/src/gd_webp.c ++++ b/src/gd_webp.c +@@ -199,6 +199,14 @@ BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quality) + quality = 80; + } + ++ if (overflow2(gdImageSX(im), 4)) { ++ return; ++ } ++ ++ if (overflow2(gdImageSX(im) * 4, gdImageSY(im))) { ++ return; ++ } ++ + argb = (uint8_t *)gdMalloc(gdImageSX(im) * 4 * gdImageSY(im)); + if (!argb) { + return; |