]> granicus.if.org Git - imagemagick/commitdiff
Fixed various leaks in ReadOneJNGImage reported in #447
authorDirk Lemstra <dirk@git.imagemagick.org>
Thu, 27 Apr 2017 10:30:48 +0000 (12:30 +0200)
committerDirk Lemstra <dirk@git.imagemagick.org>
Thu, 27 Apr 2017 10:30:48 +0000 (12:30 +0200)
coders/png.c

index 762ed4d45493354a6caf80c2b994fa7d18708652..7413f1fb5a3822d8ab237fc674486e4dca5ea6c7 100644 (file)
@@ -4551,7 +4551,7 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
       AcquireNextImage(image_info,image,exception);
 
       if (GetNextImageInList(image) == (Image *) NULL)
-        return((Image *) NULL);
+        return(DestroyImageList(image));
 
       image=SyncNextImageInList(image);
     }
@@ -4702,7 +4702,7 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
           exception);
 
         if (status == MagickFalse)
-          return((Image *) NULL);
+          return(DestroyImageList(image));
 
         if ((image_info->ping == MagickFalse) && (jng_color_type >= 12))
           {
@@ -4732,7 +4732,7 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
               exception);
 
             if (status == MagickFalse)
-              return((Image *) NULL);
+              return(DestroyImageList(image));
 
             if (jng_alpha_compression_method == 0)
               {
@@ -4990,13 +4990,13 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
     {
       assert(color_image == (Image *) NULL);
       assert(alpha_image == (Image *) NULL);
-      return((Image *) NULL);
+      return(DestroyImageList(image));
     }
 
   if (color_image == (Image *) NULL)
     {
       assert(alpha_image == (Image *) NULL);
-      return((Image *) NULL);
+      return(DestroyImageList(image));
     }
 
   (void) SeekBlob(color_image,0,SEEK_SET);
@@ -5017,7 +5017,7 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
   color_image_info=DestroyImageInfo(color_image_info);
 
   if (jng_image == (Image *) NULL)
-    return((Image *) NULL);
+    return(DestroyImageList(image));
 
   if (logging != MagickFalse)
     (void) LogMagickEvent(CoderEvent,GetMagickModule(),
@@ -5141,7 +5141,7 @@ static Image *ReadOneJNGImage(MngInfo *mng_info,
     2*GetBlobSize(image));
 
   if (status == MagickFalse)
-    return((Image *) NULL);
+    return(DestroyImageList(image));
 
   if (logging != MagickFalse)
     (void) LogMagickEvent(CoderEvent,GetMagickModule(),