Skip to content

Commit bdbbb13

Browse files
author
Cristy
committed
https://github.com/ImageMagick/ImageMagick/issues/715
1 parent 13663fd commit bdbbb13

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

Diff for: coders/ps.c

+11-3
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,8 @@ static Image *ReadPSImage(const ImageInfo *image_info,ExceptionInfo *exception)
657657
if (count != 1)
658658
continue;
659659
length=extent;
660+
if (length > GetBlobSize(image))
661+
ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile");
660662
profile=BlobToStringInfo((const void *) NULL,length);
661663
if (profile != (StringInfo *) NULL)
662664
{
@@ -724,8 +726,8 @@ static Image *ReadPSImage(const ImageInfo *image_info,ExceptionInfo *exception)
724726
/*
725727
Note spot names.
726728
*/
727-
(void) FormatLocaleString(property,MagickPathExtent,"ps:SpotColor-%.20g",
728-
(double) (spotcolor++));
729+
(void) FormatLocaleString(property,MagickPathExtent,
730+
"ps:SpotColor-%.20g",(double) (spotcolor++));
729731
for (q=command; *q != '\0'; q++)
730732
if (isspace((int) (unsigned char) *q) != 0)
731733
break;
@@ -895,7 +897,8 @@ static Image *ReadPSImage(const ImageInfo *image_info,ExceptionInfo *exception)
895897
(IsStringTrue(option) != MagickFalse))
896898
(void) ConcatenateMagickString(options,"-dEPSCrop ",MagickPathExtent);
897899
if (fitPage != MagickFalse)
898-
(void) ConcatenateMagickString(options,"-dEPSFitPage ",MagickPathExtent);
900+
(void) ConcatenateMagickString(options,"-dEPSFitPage ",
901+
MagickPathExtent);
899902
}
900903
(void) CopyMagickString(filename,read_info->filename,MagickPathExtent);
901904
(void) AcquireUniqueFilename(filename);
@@ -1043,6 +1046,7 @@ ModuleExport size_t RegisterPSImage(void)
10431046
entry->decoder=(DecodeImageHandler *) ReadPSImage;
10441047
entry->encoder=(EncodeImageHandler *) WritePSImage;
10451048
entry->magick=(IsImageFormatHandler *) IsPS;
1049+
entry->flags|=CoderDecoderSeekableStreamFlag;
10461050
entry->flags^=CoderAdjoinFlag;
10471051
entry->flags^=CoderBlobSupportFlag;
10481052
entry->mime_type=ConstantString("application/postscript");
@@ -1051,6 +1055,7 @@ ModuleExport size_t RegisterPSImage(void)
10511055
entry->decoder=(DecodeImageHandler *) ReadPSImage;
10521056
entry->encoder=(EncodeImageHandler *) WritePSImage;
10531057
entry->magick=(IsImageFormatHandler *) IsPS;
1058+
entry->flags|=CoderDecoderSeekableStreamFlag;
10541059
entry->flags^=CoderAdjoinFlag;
10551060
entry->flags^=CoderBlobSupportFlag;
10561061
entry->mime_type=ConstantString("application/postscript");
@@ -1059,6 +1064,7 @@ ModuleExport size_t RegisterPSImage(void)
10591064
entry->decoder=(DecodeImageHandler *) ReadPSImage;
10601065
entry->encoder=(EncodeImageHandler *) WritePSImage;
10611066
entry->magick=(IsImageFormatHandler *) IsPS;
1067+
entry->flags|=CoderDecoderSeekableStreamFlag;
10621068
entry->flags^=CoderAdjoinFlag;
10631069
entry->flags^=CoderBlobSupportFlag;
10641070
entry->mime_type=ConstantString("application/postscript");
@@ -1068,6 +1074,7 @@ ModuleExport size_t RegisterPSImage(void)
10681074
entry->decoder=(DecodeImageHandler *) ReadPSImage;
10691075
entry->encoder=(EncodeImageHandler *) WritePSImage;
10701076
entry->magick=(IsImageFormatHandler *) IsPS;
1077+
entry->flags|=CoderDecoderSeekableStreamFlag;
10711078
entry->flags^=CoderAdjoinFlag;
10721079
entry->flags^=CoderBlobSupportFlag;
10731080
entry->mime_type=ConstantString("application/postscript");
@@ -1077,6 +1084,7 @@ ModuleExport size_t RegisterPSImage(void)
10771084
entry->encoder=(EncodeImageHandler *) WritePSImage;
10781085
entry->magick=(IsImageFormatHandler *) IsPS;
10791086
entry->mime_type=ConstantString("application/postscript");
1087+
entry->flags|=CoderDecoderSeekableStreamFlag;
10801088
entry->flags^=CoderBlobSupportFlag;
10811089
(void) RegisterMagickInfo(entry);
10821090
return(MagickImageCoderSignature);

0 commit comments

Comments
 (0)