Eric Pouech : dbghelp: Allow loading virtual module at any address.
Module: wine Branch: master Commit: aed40b934c6ab307afc156b943c8087b57934ae4 URL: https://source.winehq.org/git/wine.git/?a=commit;h=aed40b934c6ab307afc156b94... Author: Eric Pouech <eric.pouech(a)gmail.com> Date: Mon Sep 6 10:39:55 2021 +0200 dbghelp: Allow loading virtual module at any address. Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/module.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c index f2c0eca5df6..916aaf5ce53 100644 --- a/dlls/dbghelp/module.c +++ b/dlls/dbghelp/module.c @@ -786,7 +786,6 @@ DWORD64 WINAPI SymLoadModuleExW(HANDLE hProcess, HANDLE hFile, PCWSTR wImageNam if (Data) FIXME("Unsupported load data parameter %p for %s\n", Data, debugstr_w(wImageName)); - if (!validate_addr64(BaseOfDll)) return 0; if (!(pcs = process_find_by_handle(hProcess))) return 0; @@ -803,6 +802,8 @@ DWORD64 WINAPI SymLoadModuleExW(HANDLE hProcess, HANDLE hFile, PCWSTR wImageNam if (Flags & ~(SLMFLAG_VIRTUAL)) FIXME("Unsupported Flags %08x for %s\n", Flags, debugstr_w(wImageName)); + if (!validate_addr64(BaseOfDll)) return 0; + pcs->loader->synchronize_module_list(pcs); /* this is a Wine extension to the API just to redo the synchronisation */ @@ -923,7 +924,6 @@ BOOL WINAPI SymUnloadModule64(HANDLE hProcess, DWORD64 BaseOfDll) pcs = process_find_by_handle(hProcess); if (!pcs) return FALSE; - if (!validate_addr64(BaseOfDll)) return FALSE; module = module_find_by_addr(pcs, BaseOfDll, DMT_UNKNOWN); if (!module) return FALSE; return module_remove(pcs, module);
participants (1)
-
Alexandre Julliard