From ad52ba87abe91cf4d09bc8b761512eb35914d236 Mon Sep 17 00:00:00 2001 From: Cristy Date: Tue, 23 Jan 2018 12:54:47 -0500 Subject: [PATCH] Eliminate a composite divide by zero Credit OSS Fuzz --- MagickCore/composite.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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: -- 2.40.0