diff --git a/image.c b/image.c index e4adc06..6f37f44 100644 --- a/image.c +++ b/image.c @@ -205,6 +205,10 @@ bool img_load_gif(img_t *img, const fileinfo_t *file) ptr = data = (DATA32*) emalloc(sizeof(DATA32) * sw * sh); cmap = gif->Image.ColorMap ? gif->Image.ColorMap : gif->SColorMap; + if (bg >= cmap->ColorCount) { + err = true; + break; + } r = cmap->Colors[bg].Red; g = cmap->Colors[bg].Green; b = cmap->Colors[bg].Blue;