]> granicus.if.org Git - imagemagick/commitdiff
fix memory leak in flif
authorroot <356986351@qq.com>
Fri, 15 Sep 2017 16:59:57 +0000 (16:59 +0000)
committerDirk Lemstra <dlemstra@users.noreply.github.com>
Sat, 16 Sep 2017 13:29:09 +0000 (15:29 +0200)
coders/flif.c

index 87286afaa153f6ef94d80f0d39ee253db909cd0a..8e41e539f19eb5654832002e157ad3d8c7970f99 100644 (file)
@@ -164,7 +164,10 @@ static Image *ReadFLIFImage(const ImageInfo *image_info,
     ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
   count=ReadBlob(image,length,stream);
   if (count != length)
-    ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile");
+    {
+      stream=(unsigned char *) RelinquishMagickMemory(stream);
+      ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile");
+    }
   flifdec=flif_create_decoder();
   if (image_info->quality != UndefinedCompressionQuality)
     flif_decoder_set_quality(flifdec,(int32_t) image_info->quality);