From fb036cda37c53473eb16afb6abbc8e9174e99c92 Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Sun, 9 Nov 2025 16:01:10 -0800 Subject: [PATCH] fix null pointer dereference in episode 4 free play; closes #717 --- src/ReceiveSubcommands.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ReceiveSubcommands.cc b/src/ReceiveSubcommands.cc index 2d7e0768..40f0ff1c 100644 --- a/src/ReceiveSubcommands.cc +++ b/src/ReceiveSubcommands.cc @@ -3944,7 +3944,9 @@ static uint32_t base_exp_for_enemy_type( episode_order[1] = Episode::EP1; episode_order[2] = Episode::EP4; } else if (current_episode == Episode::EP4) { - uint8_t area = quest->meta.area_for_floor.at(floor); + uint8_t area = quest + ? quest->meta.area_for_floor.at(floor) + : SetDataTableBase::default_area_for_floor(Version::BB_V4, Episode::EP4, floor); if (area <= 0x28) { // Crater episode_order[1] = Episode::EP1; episode_order[2] = Episode::EP2;