From 93511ceb054979508f3776df7e1443ffee691c9a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 24 Jun 2025 09:28:26 +0200 Subject: [PATCH] Fix BtlController_EmitChosenMonReturnValue UB (#7197) --- src/battle_controllers.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 4faec49613..ec3dfa7426 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1415,8 +1415,11 @@ void BtlController_EmitChosenMonReturnValue(u32 battler, u32 bufferId, u8 partyI gBattleResources->transferBuffer[0] = CONTROLLER_CHOSENMONRETURNVALUE; gBattleResources->transferBuffer[1] = partyId; - for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - gBattleResources->transferBuffer[2 + i] = battlePartyOrder[i]; + if (battlePartyOrder != NULL) + { + for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) + gBattleResources->transferBuffer[2 + i] = battlePartyOrder[i]; + } PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 5); }