]> granicus.if.org Git - graphviz/commitdiff
Make sure the bezier structure is zeroed out, in particular, the sp
authorEmden Gansner <erg@research.att.com>
Thu, 19 Jan 2012 21:36:06 +0000 (16:36 -0500)
committerEmden Gansner <erg@research.att.com>
Thu, 19 Jan 2012 21:36:06 +0000 (16:36 -0500)
and ep values. Apparently, gcc -0 generates code which causes a SIGFPE
when copying a double if the double has some strange form. By initializing
the sp and ep, we are guaranted the x and y will either be 0 or some
reasonable floating point value. See Lefty for more details.

lib/common/splines.c

index c81d4176748fc7ef2e719a49cd2a4efdc40a6285..ce8d78128f9c65abbee3dc1031031e197f458a0b 100644 (file)
@@ -226,6 +226,7 @@ bezier *new_spline(edge_t * e, int sz)
     rv->list = N_NEW(sz, pointf);
     rv->size = sz;
     rv->sflag = rv->eflag = FALSE;
+    rv->sp.x = rv->sp.y = rv->ep.x = rv->ep.y = 0;
     return rv;
 }