From 13663fd5798bbad267eae51a08da2dc8d40ef62b Mon Sep 17 00:00:00 2001 From: Cristy Date: Thu, 31 Aug 2017 10:26:28 -0400 Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/issues/714 --- coders/psd.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/coders/psd.c b/coders/psd.c index 270d73fd6..a29f6ac3e 100644 --- a/coders/psd.c +++ b/coders/psd.c @@ -1708,6 +1708,12 @@ static MagickBooleanType ReadPSDLayersInternal(Image *image, { size_t blend_source=ReadBlobLong(image); size_t blend_dest=ReadBlobLong(image); + if (EOFBlob(image) != MagickFalse) + { + layer_info=DestroyLayerInfo(layer_info,number_layers); + ThrowBinaryException(CorruptImageError, + "InsufficientImageDataInFile",image->filename); + } if (image->debug != MagickFalse) (void) LogMagickEvent(CoderEvent,GetMagickModule(), " source(%x), dest(%x)",(unsigned int) @@ -1758,8 +1764,7 @@ static MagickBooleanType ReadPSDLayersInternal(Image *image, for (i=0; i < number_layers; i++) { - if ((layer_info[i].page.width == 0) || - (layer_info[i].page.height == 0)) + if ((layer_info[i].page.width == 0) || (layer_info[i].page.height == 0)) { if (image->debug != MagickFalse) (void) LogMagickEvent(CoderEvent,GetMagickModule(), -- 2.50.1