From 7f1a5e6214c935448f3f6e18f9a10aa44063708d Mon Sep 17 00:00:00 2001 From: cristy <cristy@aa41f4f7-0bf4-0310-aa73-e5a19afd5a74> Date: Sun, 25 Jan 2015 17:29:48 +0000 Subject: Fix a DOS in PDB file handling Avoid an infinite loop by checking EOF. http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=26932 origin: http://trac.imagemagick.org/changeset/17855 git-svn-id: https://subversion.imagemagick.org/subversion/ImageMagick/branches/ImageMagick-6@17855 aa41f4f7-0bf4-0310-aa73-e5a19afd5a74 --- coders/pdb.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/coders/pdb.c b/coders/pdb.c index 7dce823..70d6033 100644 --- a/coders/pdb.c +++ b/coders/pdb.c @@ -365,7 +365,15 @@ static Image *ReadPDBImage(const ImageInfo *image_info,ExceptionInfo *exception) ThrowReaderException(CorruptImageError,"CorruptImage"); } num_pad_bytes = (size_t) (img_offset - TellBlob( image )); - while (num_pad_bytes--) ReadBlobByte( image ); + while (num_pad_bytes-- != 0) + { + int + c; + + c=ReadBlobByte(image); + if (c == EOF) + break; + } /* Read image header. */ -- cgit v0.11.2