diff --git a/src/graph.c b/src/graph.c index 29f5e813..5e794715 100644 --- a/src/graph.c +++ b/src/graph.c @@ -195,7 +195,7 @@ static void sssp_bfs(void) { // Only update nexthop if it doesn't increase the path length - if(!e->to->status.visited || (e->to->distance == n->distance + 1 && e->weight <= e->to->prevedge->weight)) + if(!e->to->status.visited || (e->to->distance == n->distance + 1 && (e->to->prevedge && e->weight <= e->to->prevedge->weight))) e->to->nexthop = (n->nexthop == myself) ? e->to : n->nexthop; e->to->status.visited = true;