From e982b9131e9c92d70dd5994910c1eb8ca644f2f2 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Wed, 30 Jan 2019 09:20:07 +0000 Subject: [PATCH] Fix #7142: Missing map bounds check when building long roads. --- src/road_cmd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 175e776e5e..d9825c9bfa 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -809,7 +809,9 @@ do_clear:; */ static bool CanConnectToRoad(TileIndex tile, RoadType rt, DiagDirection dir) { - RoadBits bits = GetAnyRoadBits(tile + TileOffsByDiagDir(dir), rt, false); + tile += TileOffsByDiagDir(dir); + if (!IsValidTile(tile)) return false; + RoadBits bits = GetAnyRoadBits(tile, rt, false); return (bits & DiagDirToRoadBits(ReverseDiagDir(dir))) != 0; }