]> granicus.if.org Git - imagemagick/commitdiff
https://github.com/ImageMagick/ImageMagick/issues/816
authorCristy <urban-warrior@imagemagick.org>
Sat, 30 Sep 2017 15:12:31 +0000 (11:12 -0400)
committerCristy <urban-warrior@imagemagick.org>
Sat, 30 Sep 2017 15:12:31 +0000 (11:12 -0400)
MagickCore/draw.c

index defd6b7e13ace8fd3d014e33c4da7462e334ca38..4d2746a3302819f3d4b06546e0fd37598f0a29d7 100644 (file)
@@ -6001,7 +6001,16 @@ static PrimitiveInfo *TraceStrokePolygon(const DrawInfo *draw_info,
     number_vertices+2UL,sizeof(*polygon_primitive));
   if ((path_p == (PointInfo *) NULL) || (path_q == (PointInfo *) NULL) ||
       (polygon_primitive == (PrimitiveInfo *) NULL))
-    return((PrimitiveInfo *) NULL);
+    {
+      if (path_p != (PointInfo *) NULL)
+        path_p=(PointInfo *) RelinquishMagickMemory(path_p);
+      if (path_q != (PointInfo *) NULL)
+        path_q=(PointInfo *) RelinquishMagickMemory(path_q);
+      if (polygon_primitive != (PrimitiveInfo *) NULL)
+        polygon_primitive=(PrimitiveInfo *) RelinquishMagickMemory(
+          polygon_primitive);
+      return((PrimitiveInfo *) NULL);
+    }
   (void) CopyMagickMemory(polygon_primitive,primitive_info,(size_t)
     number_vertices*sizeof(*polygon_primitive));
   closed_path=