]> granicus.if.org Git - graphviz/commitdiff
Render_Contour2: fix incorrect allocation calculation
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 14 Aug 2021 20:53:12 +0000 (13:53 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Mon, 23 Aug 2021 14:53:43 +0000 (07:53 -0700)
It is clear from surrounding code that this was attempting to allocate an array
of GLdouble *pointers*, not an array of GLdoubles. It is unlikely this would
have caused any noticeable issues as sizeof(GLdouble) is typically greater than
sizeof(GLdouble*), but nevertheless the calculation was incorrect. This change
not only corrects this, but uses the more appropriate calloc instead of malloc
for array allocation.

cmd/smyrna/polytess.c

index b66a0b90b039425a6bacf1b480f691a4d29e721e..4b0b331af14bd05bd9f3b0b3d0e56971e7eec1d1 100644 (file)
@@ -66,7 +66,7 @@ static int Render_Contour2(GLUtesselator *tobj,sdot_op* p)
     GLdouble** d;
     int x=0;
 
-    d= malloc(sizeof(GLdouble)* p->op.u.polygon.cnt);
+    d = calloc(p->op.u.polygon.cnt, sizeof(GLdouble*));
     for (x=0;x < p->op.u.polygon.cnt; x++)
     {
        d[x]=malloc(sizeof(GLdouble)*3);