File graphviz-2.40.1-fix-dot-segfault.patch of Package graphviz.20622

From b3e8099771ee752c791d861e2f936beba1cb5a14 Mon Sep 17 00:00:00 2001
From: Thadeus Fleming <thadeus.j.fleming@gmail.com>
Date: Fri, 23 Mar 2018 10:42:25 -0500
Subject: [PATCH] Prevent exponential growth of length of edges in clusters

`edgelabel_ranks` gets called for the root graph and all of its cluster
subgraphs. It should only double `ED_minlen` for each edge once. Reverting the
test for labeled edges to check only the active graph, rather than its root,
prevents it from expanding the `minlen` once for every level of cluster
containing the edge.

Fixes #1246
---
 lib/dotgen/rank.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/dotgen/rank.c b/lib/dotgen/rank.c
index 1c887b290..5808c0b5b 100644
--- a/lib/dotgen/rank.c
+++ b/lib/dotgen/rank.c
@@ -96,7 +96,7 @@ edgelabel_ranks(graph_t * g)
     node_t *n;
     edge_t *e;
 
-    if (GD_has_labels(g->root) & EDGE_LABEL) {
+    if (GD_has_labels(g) & EDGE_LABEL) {
 	for (n = agfstnode(g); n; n = agnxtnode(g, n))
 	    for (e = agfstout(g, n); e; e = agnxtout(g, e))
 		ED_minlen(e) *= 2;
-- 
2.26.2

openSUSE Build Service is sponsored by