From 91be6322d572f1d2798ae308d86749a403559171 Mon Sep 17 00:00:00 2001 From: Cristy Date: Thu, 12 Apr 2018 20:20:34 -0400 Subject: [PATCH] https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7633 --- MagickCore/draw.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/MagickCore/draw.c b/MagickCore/draw.c index b8884bf59..2f9af29a8 100644 --- a/MagickCore/draw.c +++ b/MagickCore/draw.c @@ -1571,8 +1571,7 @@ static MagickBooleanType DrawDashPolygon(const DrawInfo *draw_info, dx=primitive_info[i].point.x-primitive_info[i-1].point.x; dy=primitive_info[i].point.y-primitive_info[i-1].point.y; maximum_length=hypot(dx,dy); - if ((fabs(maximum_length) < DrawEpsilon) || - (maximum_length > MaxBezierCoordinates)) + if (maximum_length > MaxBezierCoordinates) break; if (fabs(length) < DrawEpsilon) { @@ -1588,9 +1587,9 @@ static MagickBooleanType DrawDashPolygon(const DrawInfo *draw_info, { dash_polygon[0]=primitive_info[0]; dash_polygon[0].point.x=(double) (primitive_info[i-1].point.x+dx* - total_length/maximum_length); + total_length*PerceptibleReciprocal(maximum_length)); dash_polygon[0].point.y=(double) (primitive_info[i-1].point.y+dy* - total_length/maximum_length); + total_length*PerceptibleReciprocal(maximum_length)); j=1; } else @@ -1599,9 +1598,9 @@ static MagickBooleanType DrawDashPolygon(const DrawInfo *draw_info, break; dash_polygon[j]=primitive_info[i-1]; dash_polygon[j].point.x=(double) (primitive_info[i-1].point.x+dx* - total_length/maximum_length); + total_length*PerceptibleReciprocal(maximum_length)); dash_polygon[j].point.y=(double) (primitive_info[i-1].point.y+dy* - total_length/maximum_length); + total_length*PerceptibleReciprocal(maximum_length)); dash_polygon[j].coordinates=1; j++; dash_polygon[0].coordinates=(size_t) j; -- 2.40.0