From a7f42e484ef1a1ff74936bcedc87347208779c91 Mon Sep 17 00:00:00 2001 From: Cristy <urban-warrior@imagemagick.org> Date: Sat, 21 Jul 2018 09:11:58 -0400 Subject: [PATCH] https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9470 --- coders/wpg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/coders/wpg.c b/coders/wpg.c index de7dbd839..62b761ed6 100644 --- a/coders/wpg.c +++ b/coders/wpg.c @@ -794,18 +794,21 @@ static Image *ExtractPostscript(Image *image,const ImageInfo *image_info, /* Copy postscript to temporary file */ if (SeekBlob(image,PS_Offset,SEEK_SET) != PS_Offset) { + (void) fclose(ps_file); DestroyImageInfo(clone_info); ThrowReaderException(CorruptImageError,"ImproperImageHeader"); } count=ReadBlob(image, 2*MagickPathExtent, magick); if (count < 1) { + (void) fclose(ps_file); DestroyImageInfo(clone_info); ThrowReaderException(CorruptImageError,"ImproperImageHeader"); } if (SeekBlob(image,PS_Offset,SEEK_SET) != PS_Offset) { + (void) fclose(ps_file); DestroyImageInfo(clone_info); ThrowReaderException(CorruptImageError,"ImproperImageHeader"); } @@ -813,7 +816,11 @@ static Image *ExtractPostscript(Image *image,const ImageInfo *image_info, { c=ReadBlobByte(image); if (c == EOF) - break; + { + (void) fclose(ps_file); + DestroyImageInfo(clone_info); + ThrowReaderException(CorruptImageError,"ImproperImageHeader"); + } (void) fputc(c,ps_file); } (void) fclose(ps_file); -- 2.40.0