15 lines
649 B
Diff
15 lines
649 B
Diff
--- a/gif2rgb.c
|
|
+++ b/gif2rgb.c
|
|
@@ -294,6 +294,11 @@ static void DumpScreen2RGB(char *FileNam
|
|
GifRow = ScreenBuffer[i];
|
|
GifQprintf("\b\b\b\b%-4d", ScreenHeight - i);
|
|
for (j = 0, BufferP = Buffer; j < ScreenWidth; j++) {
|
|
+ /* Check if color is within color palete */
|
|
+ if (GifRow[j] >= ColorMap->ColorCount)
|
|
+ {
|
|
+ GIF_EXIT(GifErrorString(D_GIF_ERR_IMAGE_DEFECT));
|
|
+ }
|
|
ColorMapEntry = &ColorMap->Colors[GifRow[j]];
|
|
*BufferP++ = ColorMapEntry->Red;
|
|
*BufferP++ = ColorMapEntry->Green;
|