diff --git a/input/drivers_joypad/dinput_joypad.c b/input/drivers_joypad/dinput_joypad.c index 92ea2259d6..ebcf726b86 100644 --- a/input/drivers_joypad/dinput_joypad.c +++ b/input/drivers_joypad/dinput_joypad.c @@ -426,7 +426,12 @@ static bool dinput_joypad_init(void *data) static bool dinput_joypad_button(unsigned port_num, uint16_t joykey) { const struct dinput_joypad_data *pad = &g_pads[port_num]; - unsigned hat_dir = GET_HAT_DIR(joykey); + unsigned hat_dir = 0; + + if (!pad || !pad->joypad) + return false; + + hat_dir = GET_HAT_DIR(joykey); if (hat_dir) {