From ea74ca0a7606d12b5ccd7cb97798a85aa87eb87d Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 23 Mar 2024 12:03:59 +0000 Subject: [PATCH] Fix #12347: Crash attempting to find catchment tiles of a station with no catchment area. (#12348) --- src/script/api/script_tilelist.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/script/api/script_tilelist.cpp b/src/script/api/script_tilelist.cpp index 7b3d101490..db5aafddaf 100644 --- a/src/script/api/script_tilelist.cpp +++ b/src/script/api/script_tilelist.cpp @@ -152,7 +152,10 @@ ScriptTileList_StationCoverage::ScriptTileList_StationCoverage(StationID station { if (!ScriptStation::IsValidStation(station_id)) return; - BitmapTileIterator it(::Station::Get(station_id)->catchment_tiles); + const BitmapTileArea &ta = ::Station::Get(station_id)->catchment_tiles; + if (ta.tile == INVALID_TILE) return; + + BitmapTileIterator it(ta); for (TileIndex tile = it; tile != INVALID_TILE; tile = ++it) { this->AddTile(tile); }