From 2e5b32b3554e821b422ae63b72dd1a2200065ae1 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 8 Jul 2018 16:32:00 +0200 Subject: [PATCH] GetImageMask returns NULL when the image does not have the specified mask. --- MagickCore/image.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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) -- 2.40.0