From ee4c2ce1207c91c0158ee79d380b2fffee92de70 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Tue, 14 Oct 2025 20:20:55 -0700 Subject: [PATCH] switch2: The reply to the LED packet is only 8 bytes --- src/joystick/hidapi/SDL_hidapi_switch2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/joystick/hidapi/SDL_hidapi_switch2.c b/src/joystick/hidapi/SDL_hidapi_switch2.c index 99e5f9fe48..855cee615c 100644 --- a/src/joystick/hidapi/SDL_hidapi_switch2.c +++ b/src/joystick/hidapi/SDL_hidapi_switch2.c @@ -221,7 +221,7 @@ static bool UpdateSlotLED(SDL_DriverSwitch2_Context *ctx) 0x09, 0x91, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - unsigned char calibration_data[0x50] = {0}; + unsigned char reply[8] = {0}; if (ctx->player_lights && ctx->player_index >= 0) { SET_LED_DATA[8] = (1 << (ctx->player_index % 4)); @@ -230,7 +230,7 @@ static bool UpdateSlotLED(SDL_DriverSwitch2_Context *ctx) if (res < 0) { return SDL_SetError("Couldn't set LED data: %d\n", res); } - return (RecvBulkData(ctx, calibration_data, 0x40) > 0); + return (RecvBulkData(ctx, reply, sizeof(reply)) > 0); } static void SDLCALL SDL_PlayerLEDHintChanged(void *userdata, const char *name, const char *oldValue, const char *hint)