From: Cristy Date: Tue, 23 Jan 2018 17:54:47 +0000 (-0500) Subject: Eliminate a composite divide by zero X-Git-Tag: 7.0.7-23~290 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad52ba87abe91cf4d09bc8b761512eb35914d236;p=imagemagick Eliminate a composite divide by zero Credit OSS Fuzz --- diff --git a/MagickCore/composite.c b/MagickCore/composite.c index 80f230aa4..5b8604406 100644 --- a/MagickCore/composite.c +++ b/MagickCore/composite.c @@ -1761,8 +1761,10 @@ MagickExport MagickBooleanType CompositeImage(Image *image, pixel=QuantumRange*gamma*(Dca*(1.0-Sa)); break; } - pixel=QuantumRange*gamma*(Sa*Da-Sa*Da*MagickMin(1.0,(1.0-Dca/Da)*Sa/ - Sca)+Sca*(1.0-Da)+Dca*(1.0-Sa)); + pixel=0.0; + if ((IsNaN(Da) != MagickFalse) && (IsNaN(Sca) != MagickFalse)) + pixel=QuantumRange*gamma*(Sa*Da-Sa*Da*MagickMin(1.0,(1.0-Dca/Da)* + Sa/Sca)+Sca*(1.0-Da)+Dca*(1.0-Sa)); break; } case ColorDodgeCompositeOp: