[PATCH 11/13] [DbgHelp]: rewrite SymGetModuleBase so that it relies on 64 bit version
Eric Pouech
eric.pouech at orange.fr
Sat Mar 27 03:09:02 CDT 2010
A+
---
dlls/dbghelp/module.c | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c
index eadc67a..8f12fef 100644
--- a/dlls/dbghelp/module.c
+++ b/dlls/dbghelp/module.c
@@ -1034,13 +1034,10 @@ BOOL WINAPI SymGetModuleInfoW64(HANDLE hProcess, DWORD64 dwAddr,
*/
DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)
{
- struct process* pcs = process_find_by_handle(hProcess);
- struct module* module;
+ DWORD64 ret;
- if (!pcs) return 0;
- module = module_find_by_addr(pcs, dwAddr, DMT_UNKNOWN);
- if (!module) return 0;
- return module->module.BaseOfImage;
+ ret = SymGetModuleBase64(hProcess, dwAddr);
+ return validate_addr64(ret) ? ret : 0;
}
/***********************************************************************
@@ -1048,8 +1045,13 @@ DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)
*/
DWORD64 WINAPI SymGetModuleBase64(HANDLE hProcess, DWORD64 dwAddr)
{
- if (!validate_addr64(dwAddr)) return 0;
- return SymGetModuleBase(hProcess, (DWORD)dwAddr);
+ struct process* pcs = process_find_by_handle(hProcess);
+ struct module* module;
+
+ if (!pcs) return 0;
+ module = module_find_by_addr(pcs, dwAddr, DMT_UNKNOWN);
+ if (!module) return 0;
+ return module->module.BaseOfImage;
}
/******************************************************************
More information about the wine-patches
mailing list