From: Dirk Lemstra Date: Sun, 1 Apr 2018 13:43:44 +0000 (+0200) Subject: Fixed memory leak (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7253). X-Git-Tag: 7.0.7-29~225 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c397640e3a3bf555f0315ef60bcc8a76b3fb781;p=imagemagick Fixed memory leak (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7253). --- diff --git a/coders/jpeg.c b/coders/jpeg.c index 18545e418..8d97f5e5f 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -1301,7 +1301,10 @@ static Image *ReadJPEGImage(const ImageInfo *image_info, option=GetImageOption(image_info,"jpeg:colors"); if (option != (const char *) NULL) if (AcquireImageColormap(image,StringToUnsignedLong(option),exception) == MagickFalse) - ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); + { + jpeg_destroy_decompress(&jpeg_info); + ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); + } if ((jpeg_info.output_components == 1) && (jpeg_info.quantize_colors == 0)) { size_t @@ -1309,7 +1312,10 @@ static Image *ReadJPEGImage(const ImageInfo *image_info, colors=(size_t) GetQuantumRange(image->depth)+1; if (AcquireImageColormap(image,colors,exception) == MagickFalse) - ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); + { + jpeg_destroy_decompress(&jpeg_info); + ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); + } } if (image->debug != MagickFalse) {