From: Guus Sliepen Date: Wed, 22 Jul 2015 12:33:56 +0000 (+0200) Subject: In sssp_bfs(), never try to update myself. X-Git-Tag: release-1.1pre12~98 X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=commitdiff_plain;h=56a8b90d863171d62e0a337b5635fbfc53a67fb0 In sssp_bfs(), never try to update myself. --- diff --git a/src/graph.c b/src/graph.c index 56ebb611..e570febb 100644 --- a/src/graph.c +++ b/src/graph.c @@ -149,7 +149,7 @@ static void sssp_bfs(void) { abort(); for splay_each(edge_t, e, n->edge_tree) { /* "e" is the edge connected to "from" */ - if(!e->reverse) + if(!e->reverse || e->to == myself) continue; /* Situation: @@ -173,7 +173,7 @@ static void sssp_bfs(void) { if(e->to->status.visited && (!e->to->status.indirect || indirect) - && (e->to->prevedge && (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight))) + && (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight)) continue; // Only update nexthop if it doesn't increase the path length