module_remove frees the module passed in.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/dbghelp/module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c index 5614c575cd0..894c713b3ce 100644 --- a/dlls/dbghelp/module.c +++ b/dlls/dbghelp/module.c @@ -1058,7 +1058,6 @@ BOOL WINAPI SymUnloadModule64(HANDLE hProcess, DWORD64 BaseOfDll) if (!pcs) return FALSE; module = module_find_by_addr(pcs, BaseOfDll, DMT_UNKNOWN); if (!module) return FALSE; - if (!module_remove(pcs, module)) return FALSE; /* remove local scope if defined inside this module */ if (pcs->localscope_pc >= module->module.BaseOfImage && pcs->localscope_pc < module->module.BaseOfImage + module->module.ImageSize) @@ -1066,6 +1065,7 @@ BOOL WINAPI SymUnloadModule64(HANDLE hProcess, DWORD64 BaseOfDll) pcs->localscope_pc = 0; pcs->localscope_symt = NULL; } + if (!module_remove(pcs, module)) return FALSE; return TRUE; }