Eric Pouech : dbghelp: Allow loading virtual module at any address.
Alexandre Julliard
julliard at winehq.org
Mon Sep 6 16:15:05 CDT 2021
Module: wine
Branch: master
Commit: aed40b934c6ab307afc156b943c8087b57934ae4
URL: https://source.winehq.org/git/wine.git/?a=commit;h=aed40b934c6ab307afc156b943c8087b57934ae4
Author: Eric Pouech <eric.pouech at 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 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at 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);
More information about the wine-cvs
mailing list