summaryrefslogtreecommitdiff
path: root/media-libs/giflib/files/giflib-4.1.6-gif2rle.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/giflib/files/giflib-4.1.6-gif2rle.patch')
-rw-r--r--media-libs/giflib/files/giflib-4.1.6-gif2rle.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/media-libs/giflib/files/giflib-4.1.6-gif2rle.patch b/media-libs/giflib/files/giflib-4.1.6-gif2rle.patch
new file mode 100644
index 000000000000..95334016648e
--- /dev/null
+++ b/media-libs/giflib/files/giflib-4.1.6-gif2rle.patch
@@ -0,0 +1,18 @@
+https://sourceforge.net/tracker/index.php?func=detail&aid=1829712&group_id=102202&atid=631304
+
+--- giflib/util/gif2rle.c
++++ giflib/util/gif2rle.c
+@@ -222,11 +222,8 @@
+ ColorMap = (GifFile->Image.ColorMap ?
+ GifFile->Image.ColorMap->Colors :
+ GifFile->SColorMap->Colors);
+- if (ColorMap == NULL) {
+- fprintf(stderr, "Gif Image does not have a colormap\n");
+- exit(EXIT_FAILURE);
+- }
+- ColorMapSize = 1 << ColorMap->BitsPerPixel;
++ ColorMapSize = 1 << (GifFile->Image.ColorMap ? GifFile->Image.ColorMap->BitsPerPixel :
++ GifFile->SColorMap->BitsPerPixel);
+ DumpScreen2Rle(ScreenBuffer, GifFile->SWidth, GifFile->SHeight);
+
+ if (DGifCloseFile(GifFile) == GIF_ERROR) {