[PATCH] dinput: added some missing free/close in disabled case (Coverity)

Marcus Meissner meissner at suse.de
Sun Sep 2 08:01:27 CDT 2012


most importantly "fd" was not closed in disabled case.
CID 718727

Ciao, Marcus
---
 dlls/dinput/joystick_linuxinput.c |    8 +++++++-
 1 Datei geändert, 7 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)

diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c
index 341e169..466b6bf 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;
-- 
1.7.10.4




More information about the wine-patches mailing list