Alexandre Julliard : kernelbase: Fix PEB address for Wow64.

Alexandre Julliard julliard at winehq.org
Tue May 18 15:42:37 CDT 2021


Module: wine
Branch: master
Commit: ea767728c679f2d0e3ab5fc7e9f20cff2a7434a0
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ea767728c679f2d0e3ab5fc7e9f20cff2a7434a0

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue May 18 21:20:27 2021 +0200

kernelbase: Fix PEB address for Wow64.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51151
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernelbase/debug.c       | 2 +-
 dlls/psapi/tests/psapi_main.c | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/dlls/kernelbase/debug.c b/dlls/kernelbase/debug.c
index 5d83e692222..207c04da50c 100644
--- a/dlls/kernelbase/debug.c
+++ b/dlls/kernelbase/debug.c
@@ -782,7 +782,7 @@ static BOOL init_module_iterator( struct module_iterator *iter, HANDLE process )
         DWORD ldr_data32, first_module;
         PEB32 *peb32;
 
-        peb32 = (PEB32 *)(DWORD_PTR)pbi.PebBaseAddress;
+        peb32 = (PEB32 *)((char *)pbi.PebBaseAddress + 0x1000);
         if (!ReadProcessMemory( process, &peb32->LdrData, &ldr_data32, sizeof(ldr_data32), NULL ))
             return FALSE;
         ldr_data32_ptr = (PEB_LDR_DATA32 *)(DWORD_PTR) ldr_data32;
diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c
index 8f94e0b5798..2b263d0acff 100644
--- a/dlls/psapi/tests/psapi_main.c
+++ b/dlls/psapi/tests/psapi_main.c
@@ -161,7 +161,6 @@ static void test_EnumProcessModules(void)
 
         ret = GetModuleFileNameExA(pi.hProcess, hMod, name, sizeof(name));
         ok(ret, "got error %u\n", GetLastError());
-todo_wine
         ok(!strcmp(name, buffer), "got %s\n", name);
 
         ret = GetModuleInformation(pi.hProcess, hMod, &info, sizeof(info));




More information about the wine-cvs mailing list