From: Dirk Lemstra Date: Thu, 27 Apr 2017 10:30:48 +0000 (+0200) Subject: Fixed various leaks in ReadOneJNGImage reported in #447 X-Git-Tag: 7.0.5-6~37 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a353ee3914d7f0a83078f5ef84a7766587c98121;p=imagemagick Fixed various leaks in ReadOneJNGImage reported in #447 --- diff --git a/coders/png.c b/coders/png.c index 762ed4d45..7413f1fb5 100644 --- a/coders/png.c +++ b/coders/png.c @@ -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(),