changeset 2052:aa8df4f1b785

Fix minor memory leaks in gfxconv.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 03 Dec 2018 19:24:32 +0200
parents c67d863384a5
children 6dfbe976d740
files tools/gfxconv.c
diffstat 1 files changed, 3 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/tools/gfxconv.c	Mon Dec 03 19:02:29 2018 +0200
+++ b/tools/gfxconv.c	Mon Dec 03 19:24:32 2018 +0200
@@ -1810,6 +1810,7 @@
     const DMC64ImageFormat *inC64Fmt = NULL;
     DMConvFormat inFormat, outFormat;
     DMC64Image *inC64Image = NULL, *outC64Image = NULL;
+    DMImage *inImage = NULL, *outImage = NULL;
     Uint8 *dataBuf = NULL, *dataBufOrig = NULL;
     size_t dataSize, dataSizeOrig, dataRealOffs;
     int i, n;
@@ -2013,7 +2014,6 @@
 
         case FFMT_BITMAP:
             {
-                DMImage *outImage = NULL;
                 int res = DMERR_OK;
 
                 if (optOutFilename == NULL)
@@ -2070,14 +2070,12 @@
                         break;
                 }
 
-                dmImageFree(outImage);
             }
             break;
 
         case FFMT_IMAGE:
             {
                 const DMImageFormat *ifmt = &dmImageFormatList[optInFormat];
-                DMImage *inImage = NULL;
                 int res = DMERR_OK;
                 DMResource *fp;
 
@@ -2155,8 +2153,6 @@
                     dmErrorMsg("Error writing output (%s), probably unsupported output format for bitmap/image conversion.\n",
                         dmErrorStr(res));
                 }
-
-                dmImageFree(inImage);
             }
             break;
     }
@@ -2166,6 +2162,8 @@
     dmFree(dataBufOrig);
     dmC64ImageFree(inC64Image);
     dmC64ImageFree(outC64Image);
+    dmImageFree(inImage);
+    dmImageFree(outImage);
 
     return 0;
 }