From: Cristy Date: Fri, 18 Aug 2017 11:46:49 +0000 (-0400) Subject: https://github.com/ImageMagick/ImageMagick/issues/682 X-Git-Tag: 7.0.6-8~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d4145e664aea3752ca6d3bf1ee825352b595dab5;p=imagemagick https://github.com/ImageMagick/ImageMagick/issues/682 --- 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);