Fixed issue where special could attempt accessing index outside range for specials;

This commit is contained in:
Mark Clark
2018-02-17 17:15:10 -05:00
parent a2dc641f31
commit b7d62067cc

View File

@@ -1282,7 +1282,8 @@ void erase_hidden_towns(cOutdoors& sector, int quadrant_x, int quadrant_y)
void erase_completed_specials(cOutdoors& sector)
{
for (auto tile_index = 0; tile_index < sector.special_locs.size(); tile_index++) {
if (sector.special_locs[tile_index].spec < 0)
if (sector.special_locs[tile_index].spec < 0 ||
sector.special_locs[tile_index].spec >= sector.specials.size())
continue;
auto sn = sector.specials[sector.special_locs[tile_index].spec];