diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c index 341e169e330..466b6bfb76f 100644 --- a/dlls/dinput/joystick_linuxinput.c +++ b/dlls/dinput/joystick_linuxinput.c @@ -251,7 +251,13 @@ static void find_joydevs(void) else joydev.name = joydev.device; - if (device_disabled_registry(joydev.name)) continue; + if (device_disabled_registry(joydev.name)) { + close(fd); + HeapFree(GetProcessHeap(), 0, joydev.name); + if (joydev.name != joydev.device) + HeapFree(GetProcessHeap(), 0, joydev.device); + continue; + } joydev.guid = DInput_Wine_Joystick_Base_GUID; joydev.guid.Data3 += have_joydevs;