From: Dirk Lemstra Date: Sat, 17 Jun 2017 21:05:40 +0000 (+0200) Subject: Added missing checks. X-Git-Tag: 7.0.6-1~135 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0d7e332c4af7ad37525d96587736b76a558e12cd;p=imagemagick Added missing checks. --- diff --git a/MagickCore/vision.c b/MagickCore/vision.c index f8e1c1152..c53bdd2ce 100644 --- a/MagickCore/vision.c +++ b/MagickCore/vision.c @@ -398,8 +398,10 @@ MagickExport Image *ConnectedComponentsImage(const Image *image, object[id].color.red+=QuantumScale*GetPixelRed(image,p); object[id].color.green+=QuantumScale*GetPixelGreen(image,p); object[id].color.blue+=QuantumScale*GetPixelBlue(image,p); - object[id].color.black+=QuantumScale*GetPixelBlack(image,p); - object[id].color.alpha+=QuantumScale*GetPixelAlpha(image,p); + if (image->alpha_trait != UndefinedPixelTrait) + object[id].color.alpha+=QuantumScale*GetPixelAlpha(image,p); + if (image->colorspace == CMYKColorspace) + object[id].color.black+=QuantumScale*GetPixelBlack(image,p); object[id].centroid.x+=x; object[id].centroid.y+=y; object[id].area++; @@ -439,8 +441,10 @@ MagickExport Image *ConnectedComponentsImage(const Image *image, object[i].color.red=QuantumRange*(object[i].color.red/object[i].area); object[i].color.green=QuantumRange*(object[i].color.green/object[i].area); object[i].color.blue=QuantumRange*(object[i].color.blue/object[i].area); - object[i].color.alpha=QuantumRange*(object[i].color.alpha/object[i].area); - object[i].color.black=QuantumRange*(object[i].color.black/object[i].area); + if (image->alpha_trait != UndefinedPixelTrait) + object[i].color.alpha=QuantumRange*(object[i].color.alpha/object[i].area); + if (image->colorspace == CMYKColorspace) + object[i].color.black=QuantumRange*(object[i].color.black/object[i].area); object[i].centroid.x=object[i].centroid.x/object[i].area; object[i].centroid.y=object[i].centroid.y/object[i].area; }