Fix #7577: Check if linkgraph station index is valid before dereferencing. (#7583)

(cherry picked from commit 83c1678f9e)
This commit is contained in:
PeterN
2019-05-10 21:36:03 +01:00
committed by Jonathan G Rennison
parent 3fbd2b6bbc
commit 6fabfc3f21

View File

@@ -244,7 +244,8 @@ void AfterLoadLinkGraphs()
LinkGraph *lg;
FOR_ALL_LINK_GRAPHS(lg) {
for (NodeID node_id = 0; node_id < lg->Size(); ++node_id) {
(*lg)[node_id].UpdateLocation(Station::Get((*lg)[node_id].Station())->xy);
const Station *st = Station::GetIfValid((*lg)[node_id].Station());
if (st != nullptr) (*lg)[node_id].UpdateLocation(st->xy);
}
}
@@ -252,7 +253,8 @@ void AfterLoadLinkGraphs()
FOR_ALL_LINK_GRAPH_JOBS(lgj) {
lg = &(const_cast<LinkGraph &>(lgj->Graph()));
for (NodeID node_id = 0; node_id < lg->Size(); ++node_id) {
(*lg)[node_id].UpdateLocation(Station::Get((*lg)[node_id].Station())->xy);
const Station *st = Station::GetIfValid((*lg)[node_id].Station());
if (st != nullptr) (*lg)[node_id].UpdateLocation(st->xy);
}
}
}