diff --git a/src/dijkstrasearch.c b/src/dijkstrasearch.c index ed746a1..80c085f 100644 --- a/src/dijkstrasearch.c +++ b/src/dijkstrasearch.c @@ -137,7 +137,7 @@ int dijkstra_search_find_path(struct dijkstra_search *search, while (g_list_length(search->active_nodes) > 0) { iteration++; dijkstra_search_process_queue(search); - if (search->states[destination->uid]->visited) + if (destination && search->states[destination->uid]->visited) return iteration; if (iteration >= DIJKSTRA_SEARCH_MAX_ITERATIONS) { report(LL_ERROR, "Exceeded maximum iteration limit for query."); @@ -145,6 +145,9 @@ int dijkstra_search_find_path(struct dijkstra_search *search, } } + if (!destination) + return iteration; + return -1; }