setupapi: Avoid memory leaks (coverity)

André Hentschel nerv at dawncrow.de
Sun Oct 28 10:16:58 CDT 2012


CID 713693 & 713694
---
 dlls/setupapi/install.c | 1 +
 dlls/setupapi/queue.c   | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/dlls/setupapi/install.c b/dlls/setupapi/install.c
index 1c8236a..e216e8c 100644
--- a/dlls/setupapi/install.c
+++ b/dlls/setupapi/install.c
@@ -1640,6 +1640,7 @@ BOOL WINAPI SetupGetInfFileListW(PCWSTR dir, DWORD style, PWSTR buffer,
                                   ( 2 + dir_len + name_len) * sizeof( WCHAR ));
             if( !fullname )
             {
+                FindClose( hdl );
                 HeapFree( GetProcessHeap(), 0, filter );
                 SetLastError( ERROR_NOT_ENOUGH_MEMORY );
                 return FALSE;
diff --git a/dlls/setupapi/queue.c b/dlls/setupapi/queue.c
index cd733a0..1855e99 100644
--- a/dlls/setupapi/queue.c
+++ b/dlls/setupapi/queue.c
@@ -1156,7 +1156,11 @@ BOOL WINAPI SetupInstallFileExW( HINF hinf, PINFCONTEXT inf_context, PCWSTR sour
             SetLastError( ERROR_NOT_ENOUGH_MEMORY );
             return FALSE;
         }
-        if (!SetupGetStringFieldW( inf_context, 1, inf_source, len, NULL )) return FALSE;
+        if (!SetupGetStringFieldW( inf_context, 1, inf_source, len, NULL ))
+        {
+            HeapFree( GetProcessHeap(), 0, inf_source );
+            return FALSE;
+        }
         source = inf_source;
     }
     else if (!source)
-- 
1.8.0



-- 

Best Regards, André Hentschel


More information about the wine-patches mailing list