aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/gd/gd/CVE-2017-6363.patch
blob: 25b5880ff96a6ab9c1b87ba39dbe0d76a9d5ea0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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