Fix tile iterator leak when building river/canal

See: https://github.com/OpenTTD/OpenTTD/pull/8880#issuecomment-806253149
This commit is contained in:
Jonathan G Rennison
2021-03-24 23:49:36 +00:00
parent 0e7e8d2ded
commit 8098274892

View File

@@ -479,7 +479,7 @@ CommandCost CmdBuildCanal(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
CommandCost cost(EXPENSES_CONSTRUCTION); CommandCost cost(EXPENSES_CONSTRUCTION);
TileIterator *iter = HasBit(p2, 2) ? (TileIterator *)new DiagonalTileIterator(tile, p1) : new OrthogonalTileIterator(tile, p1); std::unique_ptr<TileIterator> iter(HasBit(p2, 2) ? (TileIterator *)new DiagonalTileIterator(tile, p1) : new OrthogonalTileIterator(tile, p1));
for (; *iter != INVALID_TILE; ++(*iter)) { for (; *iter != INVALID_TILE; ++(*iter)) {
TileIndex tile = *iter; TileIndex tile = *iter;
CommandCost ret; CommandCost ret;