|
@@ -0,0 +1,35 @@
|
|
|
+From 8f7b60ea7db87de5df76169e3f3918e401ef8bf7 Mon Sep 17 00:00:00 2001
|
|
|
+From: Mike Frysinger <vapier@gentoo.org>
|
|
|
+Date: Wed, 31 Jan 2018 14:50:16 -0500
|
|
|
+Subject: [PATCH] gd/gd2: make sure transparent palette index is within bounds
|
|
|
+ #383
|
|
|
+
|
|
|
+The gd image formats allow for a palette of 256 colors,
|
|
|
+so if the transparent index is out of range, disable it.
|
|
|
+
|
|
|
+Upstream-Status: Backport
|
|
|
+[https://github.com/libgd/libgd.git commit:0be86e1926939a98afbd2f3a23c673dfc4df2a7c]
|
|
|
+CVE-2017-6363
|
|
|
+
|
|
|
+Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
|
|
|
+---
|
|
|
+ src/gd_gd.c | 3 ++-
|
|
|
+ 1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
+
|
|
|
+diff --git a/src/gd_gd.c b/src/gd_gd.c
|
|
|
+index f8d39cb..5a86fc3 100644
|
|
|
+--- a/src/gd_gd.c
|
|
|
++++ b/src/gd_gd.c
|
|
|
+@@ -54,7 +54,8 @@ _gdGetColors (gdIOCtx * in, gdImagePtr im, int gd2xFlag)
|
|
|
+ if (!gdGetWord (&im->transparent, in)) {
|
|
|
+ goto fail1;
|
|
|
+ }
|
|
|
+- if (im->transparent == 257) {
|
|
|
++ /* Make sure transparent index is within bounds of the palette. */
|
|
|
++ if (im->transparent >= 256 || im->transparent < 0) {
|
|
|
+ im->transparent = (-1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+--
|
|
|
+1.9.1
|
|
|
+
|