From: Cristy Date: Fri, 8 Jun 2018 00:07:22 +0000 (-0400) Subject: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8767 X-Git-Tag: 7.0.7-39~19 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d797a68d2ba8a5c7d41e12cd9ff00c092832132;p=imagemagick https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8767 --- diff --git a/MagickCore/draw.c b/MagickCore/draw.c index 436a5afb3..1d67c7d60 100644 --- a/MagickCore/draw.c +++ b/MagickCore/draw.c @@ -92,7 +92,7 @@ */ #define BezierQuantum 200 #define DrawEpsilon (1.0e-10) -#define MaxBezierCoordinates 2097152 +#define MaxBezierCoordinates 262144 #define ThrowPointExpectedException(token,exception) \ { \ (void) ThrowMagickException(exception,GetMagickModule(),DrawError, \ @@ -1774,8 +1774,6 @@ 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 (maximum_length > MaxBezierCoordinates) - break; if (fabs(length) < DrawEpsilon) { n++; @@ -3939,7 +3937,7 @@ MagickExport MagickBooleanType DrawImage(Image *image,const DrawInfo *draw_info, if (coordinates > MaxBezierCoordinates) { (void) ThrowMagickException(exception,GetMagickModule(), - ResourceLimitError,"MemoryAllocationFailed","`%s'",token); + DrawError,"TooManyBezierCoordinates","`%s'",token); status=MagickFalse; } if (status == MagickFalse)