From: Dirk Lemstra Date: Sun, 8 Jul 2018 14:32:00 +0000 (+0200) Subject: GetImageMask returns NULL when the image does not have the specified mask. X-Git-Tag: 7.0.8-6~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e5b32b3554e821b422ae63b72dd1a2200065ae1;p=imagemagick GetImageMask returns NULL when the image does not have the specified mask. --- diff --git a/MagickCore/image.c b/MagickCore/image.c index fa262378d..d4d5000ce 100644 --- a/MagickCore/image.c +++ b/MagickCore/image.c @@ -1453,6 +1453,24 @@ MagickExport Image *GetImageMask(const Image *image,const PixelMask type, if (image->debug != MagickFalse) (void) LogMagickEvent(TraceEvent,GetMagickModule(),"..."); assert(image->signature == MagickCoreSignature); + switch (type) + { + case ReadPixelMask: + { + if ((image->channels & ReadMaskChannel) == 0) + return((Image *) NULL); + } + case WritePixelMask: + { + if ((image->channels & WriteMaskChannel) == 0) + return((Image *) NULL); + } + default: + { + if ((image->channels & CompositeMaskChannel) == 0) + return((Image *) NULL); + } + } mask_image=AcquireImage((ImageInfo *) NULL,exception); status=SetImageExtent(mask_image,image->columns,image->rows,exception); if (status == MagickFalse)