Do not access e->to->prevedge if not defined
In some cases - mostly when e->to == myself the prevedge is set to NULL, causing invalid memory access. In rare cases this may lead to malformed mst or segfaults.
This commit is contained in:
parent
bc747f8146
commit
6dbcd4eb3d
1 changed files with 1 additions and 1 deletions
|
@ -190,7 +190,7 @@ static void sssp_bfs(void) {
|
|||
|
||||
if(e->to->status.visited
|
||||
&& (!e->to->status.indirect || indirect)
|
||||
&& (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight))
|
||||
&& (e->to->prevedge && (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight)))
|
||||
continue;
|
||||
|
||||
// Only update nexthop if it doesn't increase the path length
|
||||
|
|
Loading…
Reference in a new issue