File bnc949160-fix-colormap-leak.patch of Package giflib.33803
---
lib/egif_lib.c | 6 ++++++
1 file changed, 6 insertions(+)
Index: giflib-5.0.5/lib/egif_lib.c
===================================================================
--- giflib-5.0.5.orig/lib/egif_lib.c
+++ giflib-5.0.5/lib/egif_lib.c
@@ -376,6 +376,12 @@ EGifPutImageDesc(GifFileType *GifFile,
GifFile->Image.Width = Width;
GifFile->Image.Height = Height;
GifFile->Image.Interlace = Interlace;
+
+ // We're going to overwrite the Image.ColorMap pointer next, so free it if not NULL first!
+ if (GifFile->Image.ColorMap != NULL) {
+ GifFreeMapObject(GifFile->Image.ColorMap);
+ GifFile->Image.ColorMap = NULL;
+ }
if (ColorMap) {
GifFile->Image.ColorMap = GifMakeMapObject(ColorMap->ColorCount,
ColorMap->Colors);