From 555bda4e6692daa761fa4a19831fe10e9eb2ce7d Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Fri, 30 May 2025 20:00:25 +0200 Subject: [PATCH] Fix UB when using time menu (#7023) --- src/debug.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/debug.c b/src/debug.c index 5f05d4f50c..5a585ef62d 100644 --- a/src/debug.c +++ b/src/debug.c @@ -1922,20 +1922,28 @@ static void DebugAction_Util_OpenTimeMenu(u8 taskId) static void DebugAction_TimeMenu_TimesOfDay(u8 taskId) { - Debug_DestroyMenu_Full(taskId); if (!OW_USE_FAKE_RTC) + { Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_FakeRTCNotEnabled); + } else + { + Debug_DestroyMenu_Full(taskId); Debug_ShowMenu(DebugTask_HandleMenuInput_TimeMenu_TimesOfDay, sDebugMenu_ListTemplate_TimeMenu_TimesOfDay); + } } static void DebugAction_TimeMenu_Weekdays(u8 taskId) { - Debug_DestroyMenu_Full(taskId); if (!OW_USE_FAKE_RTC) + { Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_FakeRTCNotEnabled); + } else + { + Debug_DestroyMenu_Full(taskId); Debug_ShowMenu(DebugTask_HandleMenuInput_TimeMenu_Weekdays, sDebugMenu_ListTemplate_TimeMenu_Weekdays); + } } static void DebugAction_OpenPlayerMenu(u8 taskId) @@ -2384,7 +2392,6 @@ void BufferExpansionVersion(struct ScriptContext *ctx) static void DebugAction_TimeMenu_PrintTime(u8 taskId) { - Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_TellTheTime); } @@ -2410,7 +2417,6 @@ void DebugMenu_CalculateTime(struct ScriptContext *ctx) static void DebugAction_TimeMenu_PrintTimeOfDay(u8 taskId) { - Debug_DestroyMenu_Full(taskId); LockPlayerFieldControls(); Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_PrintTimeOfDay); }