From 7114e613d8af0302b44d55e97b4dcabe858edc9f Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Fri, 8 Jun 2007 05:25:52 +0000 Subject: [PATCH] - MFB: #41630, fix segfault when an invalid color index is present in the image data --- ext/gd/libgd/gd_gif_in.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ext/gd/libgd/gd_gif_in.c b/ext/gd/libgd/gd_gif_in.c index 7076518c72..21409c5733 100644 --- a/ext/gd/libgd/gd_gif_in.c +++ b/ext/gd/libgd/gd_gif_in.c @@ -590,6 +590,10 @@ ReadImage(gdImagePtr im, gdIOCtx *fd, int len, int height, unsigned char (*cmap) /*} */ while ((v = LWZReadByte(fd, &sd, FALSE, c, ZeroDataBlockP)) >= 0 ) { + if (v >= gdMaxColors) { + v = 0; + } + /* This how we recognize which colors are actually used. */ if (im->open[v]) { im->open[v] = 0; -- 2.50.1