[PATCH] ntdll: Don't call possibly deadly DbgUiGetThreadDebugObject.
Rémi Bernon
rbernon at codeweavers.com
Tue Mar 16 14:28:09 CDT 2021
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
Call of Duty Infinite Warfare for instance.
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 a7e6d712df1..a982bf9bc2e 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -3221,7 +3221,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();
}
--
2.30.2
More information about the wine-devel
mailing list