diff --git gd-2.0.33/gd_gif_in.c b/BUILD/gd-2.0.33/gd_gif_in.c index 7668169..a1c848c 100644 --- gd-2.0.33/gd_gif_in.c +++ gd-2.0.33/gd_gif_in.c @@ -559,6 +559,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;