Blame SOURCES/giflib-5.1.4-coverity.patch

65f97b
diff --git a/util/gif2rgb.c b/util/gif2rgb.c
65f97b
index e39f37b..92bf82f 100644
65f97b
--- a/util/gif2rgb.c
65f97b
+++ b/util/gif2rgb.c
65f97b
@@ -171,6 +171,8 @@ static void SaveGif(GifByteType *OutputBuffer,
65f97b
     /* Open stdout for the output file: */
65f97b
     if ((GifFile = EGifOpenFileHandle(1, &Error)) == NULL) {
65f97b
 	PrintGifError(Error);
65f97b
+	free(OutputBuffer);
65f97b
+	GifFreeMapObject(OutputColorMap);
65f97b
 	exit(EXIT_FAILURE);
65f97b
     }
65f97b
 
65f97b
@@ -179,25 +181,34 @@ static void SaveGif(GifByteType *OutputBuffer,
65f97b
 			  OutputColorMap) == GIF_ERROR ||
65f97b
 	EGifPutImageDesc(GifFile,
65f97b
 			 0, 0, Width, Height, false, NULL) ==
65f97b
-	                                                             GIF_ERROR)
65f97b
+	                                                             GIF_ERROR) {
65f97b
 	PrintGifError(Error);
65f97b
+	free(OutputBuffer);
65f97b
+	GifFreeMapObject(OutputColorMap);
65f97b
 	exit(EXIT_FAILURE);
65f97b
+    }
65f97b
 
65f97b
     GifQprintf("\n%s: Image 1 at (%d, %d) [%dx%d]:     ",
65f97b
 	       PROGRAM_NAME, GifFile->Image.Left, GifFile->Image.Top,
65f97b
 	       GifFile->Image.Width, GifFile->Image.Height);
65f97b
 
65f97b
     for (i = 0; i < Height; i++) {
65f97b
-	if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR)
65f97b
+	if (EGifPutLine(GifFile, Ptr, Width) == GIF_ERROR) {
65f97b
+	    free(OutputBuffer);
65f97b
+	    GifFreeMapObject(OutputColorMap);
65f97b
 	    exit(EXIT_FAILURE);
65f97b
+	}
65f97b
 	GifQprintf("\b\b\b\b%-4d", Height - i - 1);
65f97b
 
65f97b
 	Ptr += Width;
65f97b
     }
65f97b
 
65f97b
-    if (EGifCloseFile(GifFile, &Error) == GIF_ERROR)
65f97b
+    if (EGifCloseFile(GifFile, &Error) == GIF_ERROR) {
65f97b
 	PrintGifError(Error);
65f97b
+	free(OutputBuffer);
65f97b
+	GifFreeMapObject(OutputColorMap);
65f97b
 	exit(EXIT_FAILURE);
65f97b
+    }
65f97b
 }
65f97b
 
65f97b
 /******************************************************************************
65f97b
diff --git a/util/gifsponge.c b/util/gifsponge.c
65f97b
index 6e248d8..12bce36 100644
65f97b
--- a/util/gifsponge.c
65f97b
+++ b/util/gifsponge.c
65f97b
@@ -73,8 +73,7 @@ int main(int argc, char **argv)
65f97b
      * data; it's *your* responsibility to keep your changes consistent.
65f97b
      * Caveat hacker!
65f97b
      */
65f97b
-    if (EGifSpew(GifFileOut) == GIF_ERROR)
65f97b
-	PrintGifError(GifFileOut->Error);
65f97b
+    EGifSpew(GifFileOut);
65f97b
 
65f97b
     if (DGifCloseFile(GifFileIn, &ErrorCode) == GIF_ERROR)
65f97b
 	PrintGifError(ErrorCode);
65f97b
diff --git a/util/giftool.c b/util/giftool.c
65f97b
index e61281c..fe6325c 100644
65f97b
--- a/util/giftool.c
65f97b
+++ b/util/giftool.c
65f97b
@@ -565,9 +565,9 @@ int main(int argc, char **argv)
65f97b
     for (i = 0; i < GifFileIn->ImageCount; i++)
65f97b
 	(void) GifMakeSavedImage(GifFileOut, &GifFileIn->SavedImages[i]);
65f97b
 
65f97b
-    if (EGifSpew(GifFileOut) == GIF_ERROR)
65f97b
-	PrintGifError(GifFileOut->Error);
65f97b
-    else if (DGifCloseFile(GifFileIn, &ErrorCode) == GIF_ERROR)
65f97b
+    EGifSpew(GifFileOut);
65f97b
+
65f97b
+    if (DGifCloseFile(GifFileIn, &ErrorCode) == GIF_ERROR)
65f97b
 	PrintGifError(ErrorCode);
65f97b
 
65f97b
     return 0;