|
 |
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;
|