From: cristy Date: Sat, 12 Sep 2009 02:12:36 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~10720 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=94f2007ae3b0c364b710bc5396ede341db4a4b97;p=imagemagick --- diff --git a/coders/gray.c b/coders/gray.c index 68e007128..8802d2df2 100644 --- a/coders/gray.c +++ b/coders/gray.c @@ -246,6 +246,12 @@ static Image *ReadGRAYImage(const ImageInfo *image_info, } } SetQuantumImageType(image,quantum_type); + if (EOFBlob(image) != MagickFalse) + { + ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile", + image->filename); + break; + } /* Proceed to next image. */ diff --git a/coders/rgb.c b/coders/rgb.c index 8dfef3845..a9fcce5c5 100644 --- a/coders/rgb.c +++ b/coders/rgb.c @@ -560,6 +560,12 @@ static Image *ReadRGBImage(const ImageInfo *image_info,ExceptionInfo *exception) } } SetQuantumImageType(image,quantum_type); + if (EOFBlob(image) != MagickFalse) + { + ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile", + image->filename); + break; + } /* Proceed to next image. */ diff --git a/coders/ycbcr.c b/coders/ycbcr.c index 14c87c94a..52ec55e6d 100644 --- a/coders/ycbcr.c +++ b/coders/ycbcr.c @@ -787,6 +787,12 @@ static Image *ReadYCBCRImage(const ImageInfo *image_info, } } SetQuantumImageType(image,quantum_type); + if (EOFBlob(image) != MagickFalse) + { + ThrowFileException(exception,CorruptImageError,"UnexpectedEndOfFile", + image->filename); + break; + } /* Proceed to next image. */ diff --git a/version.sh b/version.sh index 6c00462ef..71b49dd17 100644 --- a/version.sh +++ b/version.sh @@ -12,7 +12,7 @@ PACKAGE_NAME='ImageMagick' # PACKAGE_NAME (e.g. "1.0.0"). PACKAGE_VERSION='6.5.5' PACKAGE_LIB_VERSION="0x655" -PACKAGE_RELEASE="10" +PACKAGE_RELEASE="9" PACKAGE_LIB_VERSION_NUMBER="6,5,5,${PACKAGE_RELEASE}" PACKAGE_RELEASE_DATE=`date +%F` PACKAGE_STRING="$PACKAGE_NAME $PACKAGE_VERSION" diff --git a/wand/animate.c b/wand/animate.c index 2304da2a5..463965181 100644 --- a/wand/animate.c +++ b/wand/animate.c @@ -1411,6 +1411,8 @@ WandExport MagickBooleanType AnimateImageCommand(ImageInfo *image_info, if (image == (Image *) NULL) ThrowAnimateException(OptionError,"MissingAnImageFilename",argv[argc-1]) FinalizeImageSettings(image_info,image,MagickTrue); + if (image == (Image *) NULL) + ThrowAnimateException(OptionError,"MissingAnImageFilename",argv[argc-1]) if (resource_info.window_id != (char *) NULL) { XAnimateBackgroundImage(display,&resource_info,image); diff --git a/wand/compare.c b/wand/compare.c index e53f58f94..fe96b4cac 100644 --- a/wand/compare.c +++ b/wand/compare.c @@ -902,6 +902,8 @@ WandExport MagickBooleanType CompareImageCommand(ImageInfo *image_info, if ((image == (Image *) NULL) || (GetImageListLength(image) < 2)) ThrowCompareException(OptionError,"MissingAnImageFilename",argv[i]); FinalizeImageSettings(image_info,image,MagickTrue); + if ((image == (Image *) NULL) || (GetImageListLength(image) < 2)) + ThrowCompareException(OptionError,"MissingAnImageFilename",argv[i]); image=GetImageFromList(image,0); reconstruct_image=GetImageFromList(image,1); similarity_image=SimilarityImage(image,reconstruct_image,&offset, diff --git a/wand/composite.c b/wand/composite.c index 1ebc959b5..678bd53c1 100644 --- a/wand/composite.c +++ b/wand/composite.c @@ -1592,6 +1592,8 @@ WandExport MagickBooleanType CompositeImageCommand(ImageInfo *image_info, if ((image == (Image *) NULL) || (GetImageListLength(image) < 2)) ThrowCompositeException(OptionError,"MissingAnImageFilename",argv[argc-1]); FinalizeImageSettings(image_info,image,MagickTrue); + if ((image == (Image *) NULL) || (GetImageListLength(image) < 2)) + ThrowCompositeException(OptionError,"MissingAnImageFilename",argv[argc-1]); /* Composite images. */ diff --git a/wand/convert.c b/wand/convert.c index 277112dba..f6332628d 100644 --- a/wand/convert.c +++ b/wand/convert.c @@ -2818,6 +2818,8 @@ WandExport MagickBooleanType ConvertImageCommand(ImageInfo *image_info, if (image == (Image *) NULL) ThrowConvertException(OptionError,"MissingAnImageFilename",argv[argc-1]); FinalizeImageSettings(image_info,image,MagickTrue); + if (image == (Image *) NULL) + ThrowConvertException(OptionError,"MissingAnImageFilename",argv[argc-1]); status&=WriteImages(image_info,image,argv[argc-1],exception); if (metadata != (char **) NULL) { diff --git a/wand/mogrify-private.h b/wand/mogrify-private.h index 3e53259cc..e964769d3 100644 --- a/wand/mogrify-private.h +++ b/wand/mogrify-private.h @@ -40,7 +40,8 @@ extern "C" { { \ ResetImageOptions(image_info); \ FireImageStack(MagickTrue,advance,MagickTrue); \ - (void) SyncImagesSettings(image_info,image); \ + if (image != (Image *) NULL) \ + (void) SyncImagesSettings(image_info,image); \ } #define FireImageStack(postfix,advance,fire) \ if ((j <= i) && (i < argc)) \ diff --git a/wand/mogrify.c b/wand/mogrify.c index a6d0beb24..0a39345fd 100644 --- a/wand/mogrify.c +++ b/wand/mogrify.c @@ -7204,6 +7204,8 @@ WandExport MagickBooleanType MogrifyImageList(ImageInfo *image_info, status=MagickTrue; for (i=0; i < (long) argc; i++) { +if (*images == (Image *) NULL) + break; option=argv[i]; if (IsMagickOption(option) == MagickFalse) continue; diff --git a/wand/montage.c b/wand/montage.c index 3668860b8..42ceb4e15 100644 --- a/wand/montage.c +++ b/wand/montage.c @@ -1666,6 +1666,8 @@ WandExport MagickBooleanType MontageImageCommand(ImageInfo *image_info, if (image == (Image *) NULL) ThrowMontageException(OptionError,"MissingAnImageFilename",argv[argc-1]); FinalizeImageSettings(image_info,image,MagickTrue); + if (image == (Image *) NULL) + ThrowMontageException(OptionError,"MissingAnImageFilename",argv[argc-1]); (void) CopyMagickString(montage_info->filename,argv[argc-1],MaxTextExtent); montage_image=MontageImageList(image_info,montage_info,image,exception); if (montage_image == (Image *) NULL) diff --git a/wand/stream.c b/wand/stream.c index ec6f0391e..321b73d2c 100644 --- a/wand/stream.c +++ b/wand/stream.c @@ -740,6 +740,8 @@ WandExport MagickBooleanType StreamImageCommand(ImageInfo *image_info, if (image == (Image *) NULL) ThrowStreamException(OptionError,"MissingAnImageFilename",argv[i]); FinalizeImageSettings(image_info,image,MagickTrue); + if (image == (Image *) NULL) + ThrowStreamException(OptionError,"MissingAnImageFilename",argv[i]); DestroyStream(); return(status != 0 ? MagickTrue : MagickFalse); }