mirror of
https://github.com/ImageMagick/ImageMagick.git
synced 2026-05-31 11:18:42 +02:00
be less forgiving for invalid image indexes
This commit is contained in:
@@ -824,10 +824,13 @@ MagickExport Image *ReadImage(const ImageInfo *image_info,
|
||||
*clones;
|
||||
|
||||
clones=CloneImages(image,read_info->scenes,exception);
|
||||
image=DestroyImageList(image);
|
||||
if (clones != (Image *) NULL)
|
||||
image=GetFirstImageInList(clones);
|
||||
if (image == (Image *) NULL)
|
||||
{
|
||||
image=DestroyImageList(image);
|
||||
image=GetFirstImageInList(clones);
|
||||
read_info=DestroyImageInfo(read_info);
|
||||
return(image);
|
||||
}
|
||||
}
|
||||
InitializeConstituteInfo(read_info,&constitute_info);
|
||||
|
||||
+4
-4
@@ -219,15 +219,14 @@ MagickExport Image *CloneImages(const Image *images,const char *scenes,
|
||||
*clone_images,
|
||||
*image;
|
||||
|
||||
ssize_t
|
||||
i;
|
||||
|
||||
size_t
|
||||
length;
|
||||
|
||||
ssize_t
|
||||
first,
|
||||
i,
|
||||
last,
|
||||
offset,
|
||||
step;
|
||||
|
||||
assert(images != (const Image *) NULL);
|
||||
@@ -249,6 +248,7 @@ MagickExport Image *CloneImages(const Image *images,const char *scenes,
|
||||
while ((isspace((int) ((unsigned char) *p)) != 0) || (*p == ','))
|
||||
p++;
|
||||
first=(ssize_t) strtol(p,&p,10);
|
||||
offset=first;
|
||||
if (first < 0)
|
||||
first+=(ssize_t) length;
|
||||
else
|
||||
@@ -294,7 +294,7 @@ MagickExport Image *CloneImages(const Image *images,const char *scenes,
|
||||
}
|
||||
if (match == MagickFalse)
|
||||
(void) ThrowMagickException(exception,GetMagickModule(),OptionError,
|
||||
"InvalidImageIndex","`%s'",images->filename);
|
||||
"InvalidImageIndex","%g `%s'",(double) offset,images->filename);
|
||||
}
|
||||
}
|
||||
return(GetFirstImageInList(clone_images));
|
||||
|
||||
Reference in New Issue
Block a user