From edb26a68fe5663b04a35b45e7ebd67c555a802c5 Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Sat, 16 Nov 2024 16:25:28 +0200 Subject: [PATCH] Guard against array out of bounds access --- Tactical/Soldier Control.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index a962a750..e3675f52 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -9105,7 +9105,10 @@ void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier ) if ( pSoldier->flags.fUseMoverrideMoveSpeed ) { - pStatsSoldier = MercPtrs[pSoldier->bOverrideMoveSpeed]; + if (pSoldier->bOverrideMoveSpeed >= 0 && pSoldier->bOverrideMoveSpeed < TOTAL_SOLDIERS) + { + pStatsSoldier = MercPtrs[pSoldier->bOverrideMoveSpeed]; + } } // Only calculate if set to zero