]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Thu, 20 Sep 2018 12:28:12 +0000 (08:28 -0400)
committerCristy <urban-warrior@imagemagick.org>
Thu, 20 Sep 2018 12:28:12 +0000 (08:28 -0400)
MagickCore/draw.c

index 9fb8a2489e3d7f56705946eda9f87eee543304cd..bf062c2711b92c624e24c363982240ac84d3c340 100644 (file)
@@ -6188,9 +6188,6 @@ static MagickBooleanType TraceEllipse(MVGInfo *mvg_info,const PointInfo center,
   register ssize_t
     i;
 
-  size_t
-    extent;
-
   /*
     Ellipses are just short segmented polys.
   */
@@ -6208,14 +6205,13 @@ static MagickBooleanType TraceEllipse(MVGInfo *mvg_info,const PointInfo center,
     y+=360.0;
   angle.y=DegreesToRadians(y);
   coordinates=ceil((angle.y-angle.x)/step+1.0);
-  extent=(size_t) coordinates;
-  if ((double) extent < coordinates)
+  if (coordinates > (double) SSIZE_MAX)
     {
       (void) ThrowMagickException(mvg_info->exception,GetMagickModule(),
         ResourceLimitError,"MemoryAllocationFailed","`%s'","");
       return(MagickFalse);
     }
-  if (CheckPrimitiveExtent(mvg_info,extent) == MagickFalse)
+  if (CheckPrimitiveExtent(mvg_info,(size_t) coordinates) == MagickFalse)
     return(MagickFalse);
   primitive_info=(*mvg_info->primitive_info)+mvg_info->offset;
   for (p=primitive_info; angle.x < angle.y; angle.x+=step)