X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fgraph.c;h=491a59f6323790057bdef04ff49dee02d400a07b;hp=a3fe0ce552134a8fa5e9baaabd8f688b79fb3048;hb=6363ed4d9c675b8b9301b694c4e4dd9c892e04e2;hpb=40b1692940a8d588c08fb6b8f24ded7c33b041b1 diff --git a/src/graph.c b/src/graph.c index a3fe0ce5..491a59f6 100644 --- a/src/graph.c +++ b/src/graph.c @@ -226,7 +226,9 @@ void sssp_bfs(void) free(e->to->hostname); e->to->hostname = sockaddr2hostname(&e->to->address); - avl_insert_node(node_udp_tree, node); + + if(node) + avl_insert_node(node_udp_tree, node); if(e->to->options & OPTION_PMTU_DISCOVERY) { e->to->mtuprobes = 0; @@ -258,9 +260,11 @@ void sssp_bfs(void) if(n->status.reachable) { ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"), n->name, n->hostname); + avl_insert(node_udp_tree, n); } else { ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"), n->name, n->hostname); + avl_delete(node_udp_tree, n); } n->status.validkey = false;