nsxivcca7834
fix: out-of-bounds access when bg not in color map
+4 −0
1 file changed
- M image.c +4 −0
| @@ -205,6 +205,10 @@ bool img_load_gif(img_t *img, const fileinfo_t *file) | |||
| 205 | 205 | ||
| 206 | 206 | ptr = data = (DATA32*) emalloc(sizeof(DATA32) * sw * sh); | |
| 207 | 207 | cmap = gif->Image.ColorMap ? gif->Image.ColorMap : gif->SColorMap; | |
| 208 | + | if (bg >= cmap->ColorCount) { | |
| 209 | + | err = true; | |
| 210 | + | break; | |
| 211 | + | } | |
| 208 | 212 | r = cmap->Colors[bg].Red; | |
| 209 | 213 | g = cmap->Colors[bg].Green; | |
| 210 | 214 | b = cmap->Colors[bg].Blue; | |