aboutsummaryrefslogtreecommitdiff
path: root/src/network/packet.cpp
diff options
context:
space:
mode:
authorBoiledElectricity <james.dellamorte@gmail.com>2026-06-05 19:26:21 +0200
committercrueter <crueter@eden-emu.dev>2026-06-05 19:26:21 +0200
commit470d43df6da19e5f48687087f1a8cc378bbe90ee (patch)
tree289d64b7db25d516fb818338f8a785a1a5f07841 /src/network/packet.cpp
parentfb6330645a06a3e0d9e6fa42a4e6f875d9ee065e (diff)
[hid_core] fix bounds-check aruid index in GetControllerFromNpadIdType (#4064)
GetIndexFromAruid returns AruidIndexMax as the “not found” value, but both GetControllerFromNpadIdType overloads were using that value to index controller_data without checking it first. when a game routes through DisconnectNpad before its applet resource is registered, we can end up indexing past the end of controller_data. That seems to be what was crashing some games on launch, especially on macOS and Android, where the out-of-bounds read is less likely to just slide by unnoticed. So yeah, AruidIndexMax is a sentinel, not a real controller_data index, so we should not treat it like one. Fixes: https://github.com/eden-emulator/Issue-Reports/issues/438 Fixes: https://github.com/eden-emulator/Issue-Reports/issues/439 Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4064 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src/network/packet.cpp')
0 files changed, 0 insertions, 0 deletions