[PATCH] dbghelp: Fix memory leak in SymInitializeW() (Coverity).
Józef Kucia
jkucia at codeweavers.com
Wed Sep 19 05:26:56 CDT 2018
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/dbghelp/dbghelp.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/dbghelp/dbghelp.c b/dlls/dbghelp/dbghelp.c
index 5685c25cd076..a085cd140ef7 100644
--- a/dlls/dbghelp/dbghelp.c
+++ b/dlls/dbghelp/dbghelp.c
@@ -298,7 +298,8 @@ BOOL WINAPI SymInitializeW(HANDLE hProcess, PCWSTR UserSearchPath, BOOL fInvadeP
TRACE("(%p %s %u)\n", hProcess, debugstr_w(UserSearchPath), fInvadeProcess);
- if (process_find_by_handle(hProcess)){
+ if (process_find_by_handle(hProcess))
+ {
WARN("the symbols for this process have already been initialized!\n");
/* MSDN says to only call this function once unless SymCleanup() has been called since the last call.
@@ -307,15 +308,15 @@ BOOL WINAPI SymInitializeW(HANDLE hProcess, PCWSTR UserSearchPath, BOOL fInvadeP
return TRUE;
}
- pcs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pcs));
- if (!pcs) return FALSE;
-
- pcs->handle = hProcess;
-
IsWow64Process(GetCurrentProcess(), &wow64);
if (!IsWow64Process(hProcess, &child_wow64))
return FALSE;
+
+ pcs = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*pcs));
+ if (!pcs) return FALSE;
+
+ pcs->handle = hProcess;
pcs->is_64bit = (sizeof(void *) == 8 || wow64) && !child_wow64;
if (UserSearchPath)
--
2.16.4
More information about the wine-devel
mailing list