From: Yuxuan Shui <yshui(a)codeweavers.com> Reference: 4ea0354ecaf6c601d304cce4f7e5a4e6a8542490 --- dlls/kernel32/toolhelp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/toolhelp.c b/dlls/kernel32/toolhelp.c index 8d8920703bd..adcad129b06 100644 --- a/dlls/kernel32/toolhelp.c +++ b/dlls/kernel32/toolhelp.c @@ -85,6 +85,11 @@ static BOOL fetch_module( DWORD process, DWORD flags, LDR_DATA_TABLE_ENTRY **ldr { hProcess = OpenProcess( PROCESS_VM_READ | PROCESS_QUERY_INFORMATION, FALSE, process ); if (!hProcess) return FALSE; + if (RtlIsCurrentProcess( hProcess )) + { + CloseHandle( hProcess ); + hProcess = GetCurrentProcess(); + } } else hProcess = GetCurrentProcess(); @@ -134,7 +139,7 @@ static BOOL fetch_module( DWORD process, DWORD flags, LDR_DATA_TABLE_ENTRY **ldr } out: - if (process) CloseHandle( hProcess ); + if (hProcess != GetCurrentProcess()) CloseHandle( hProcess ); return ret; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9371