From ed06c6bdcffaea357b84b6f80d6a83457173a361 Mon Sep 17 00:00:00 2001 From: PeterN Date: Fri, 16 Jun 2023 19:40:24 +0100 Subject: [PATCH] Codechange: Use vector when migrating old savegame orders. (#11020) --- src/saveload/order_sl.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/saveload/order_sl.cpp b/src/saveload/order_sl.cpp index 9ec0d0e256..e94026dfc9 100644 --- a/src/saveload/order_sl.cpp +++ b/src/saveload/order_sl.cpp @@ -143,27 +143,23 @@ struct ORDRChunkHandler : ChunkHandler { /* Pre-version 5 had another layout for orders * (uint16 instead of uint32) */ len /= sizeof(uint16); - uint16 *orders = MallocT(len + 1); + std::vector orders(len); - SlCopy(orders, len, SLE_UINT16); + SlCopy(&orders[0], len, SLE_UINT16); for (size_t i = 0; i < len; ++i) { Order *o = new (i) Order(); o->AssignOrder(UnpackVersion4Order(orders[i])); } - - free(orders); } else if (IsSavegameVersionBefore(SLV_5, 2)) { len /= sizeof(uint32); - uint32 *orders = MallocT(len + 1); + std::vector orders(len); - SlCopy(orders, len, SLE_UINT32); + SlCopy(&orders[0], len, SLE_UINT32); for (size_t i = 0; i < len; ++i) { new (i) Order(orders[i]); } - - free(orders); } /* Update all the next pointer */