From 8f7b60ea7db87de5df76169e3f3918e401ef8bf7 Mon Sep 17 00:00:00 2001 From: Mike Frysinger 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 --- 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