Rémi Bernon : ntdll: Don't call possibly deadly DbgUiGetThreadDebugObject.

Alexandre Julliard julliard at winehq.org
Tue Mar 16 16:39:04 CDT 2021


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

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Tue Mar 16 20:28:09 2021 +0100

ntdll: Don't call possibly deadly DbgUiGetThreadDebugObject.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/loader.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index 83ae707ba3f..04bcdb18a2b 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -3215,7 +3215,8 @@ void WINAPI LdrShutdownThread(void)
     RtlReleasePebLock();
 
     RtlLeaveCriticalSection( &loader_section );
-    if (DbgUiGetThreadDebugObject()) NtClose( DbgUiGetThreadDebugObject() );
+    /* don't call DbgUiGetThreadDebugObject as some apps hook it and terminate if called */
+    if (NtCurrentTeb()->DbgSsReserved[1]) NtClose( NtCurrentTeb()->DbgSsReserved[1] );
     RtlFreeThreadActivationContextStack();
 }
 




More information about the wine-cvs mailing list