aboutsummaryrefslogtreecommitdiff
path: root/src/hid_core
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-08-05 20:55:01 +0200
committercrueter <crueter@eden-emu.dev>2026-08-05 20:55:01 +0200
commita0f1cd1baf9bd56b2897b3145401ba483355cb07 (patch)
tree96d62098630002f799f4f337e097c7608ca8c564 /src/hid_core
parent49a0ca6d5d9929391e0633163ebbfec564d27cc1 (diff)
[hid_core] fix NPad crash on pikmin 4 due to nullref (#4249)
Signed-off-by: lizzie <lizzie@eden-emu.dev> - [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions). - [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md) - [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability. ------------------- Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4249 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Maufeat <sahyno1996@gmail.com>
Diffstat (limited to 'src/hid_core')
-rw-r--r--src/hid_core/resources/npad/npad.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/hid_core/resources/npad/npad.cpp b/src/hid_core/resources/npad/npad.cpp
index 044ad0fb32..a2fd23b534 100644
--- a/src/hid_core/resources/npad/npad.cpp
+++ b/src/hid_core/resources/npad/npad.cpp
@@ -504,9 +504,12 @@ void NPad::OnUpdate(Kernel::KernelCore& kernel, const Core::Timing::CoreTiming&
for (std::size_t i = 0; i < controller_data[aruid_index].size(); ++i) {
auto& controller = controller_data[aruid_index][i];
- controller.shared_memory =
- &data->shared_memory_format->npad.npad_entry[i].internal_state;
+ controller.shared_memory = &data->shared_memory_format->npad.npad_entry[i].internal_state;
auto* npad = controller.shared_memory;
+ if (!npad || !controller.device) {
+ LOG_WARNING(Service_HID, "No device for {}", i);
+ continue;
+ }
const auto& controller_type = controller.device->GetNpadStyleIndex();