From d4145e664aea3752ca6d3bf1ee825352b595dab5 Mon Sep 17 00:00:00 2001 From: Cristy Date: Fri, 18 Aug 2017 07:46:49 -0400 Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/issues/682 --- coders/sfw.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/coders/sfw.c b/coders/sfw.c index 4a778ea22..f9a140265 100644 --- a/coders/sfw.c +++ b/coders/sfw.c @@ -252,8 +252,8 @@ static Image *ReadSFWImage(const ImageInfo *image_info,ExceptionInfo *exception) */ if (GetBlobSize(image) != (size_t) GetBlobSize(image)) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); - buffer=(unsigned char *) AcquireQuantumMemory((size_t) GetBlobSize(image), - sizeof(*buffer)); + buffer=(unsigned char *) AcquireQuantumMemory((size_t) GetBlobSize(image)+ + MagickPathExtent,sizeof(*buffer)); if (buffer == (unsigned char *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); count=ReadBlob(image,(size_t) GetBlobSize(image),buffer); @@ -355,7 +355,8 @@ static Image *ReadSFWImage(const ImageInfo *image_info,ExceptionInfo *exception) image=DestroyImageList(image); return(jpeg_image); } - (void) CopyMagickString(jpeg_image->filename,image->filename,MagickPathExtent); + (void) CopyMagickString(jpeg_image->filename,image->filename, + MagickPathExtent); (void) CopyMagickString(jpeg_image->magick,image->magick,MagickPathExtent); image=DestroyImageList(image); image=jpeg_image; @@ -403,6 +404,7 @@ ModuleExport size_t RegisterSFWImage(void) entry=AcquireMagickInfo("SFW","SFW","Seattle Film Works"); entry->decoder=(DecodeImageHandler *) ReadSFWImage; entry->magick=(IsImageFormatHandler *) IsSFW; + entry->flags|=CoderDecoderSeekableStreamFlag; entry->flags^=CoderAdjoinFlag; (void) RegisterMagickInfo(entry); return(MagickImageCoderSignature); -- 2.50.1