From 0ed128530c19403e4c0f16aec7cf6cb8716ef97c Mon Sep 17 00:00:00 2001 From: vsadov <8218165+VSadov@users.noreply.github.com> Date: Wed, 8 May 2024 09:28:40 -0700 Subject: [PATCH] RtlGetReturnAddressHijackTarget --- src/coreclr/vm/threadsuspend.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/coreclr/vm/threadsuspend.cpp b/src/coreclr/vm/threadsuspend.cpp index 6744a980c9e8d..f21e040a85335 100644 --- a/src/coreclr/vm/threadsuspend.cpp +++ b/src/coreclr/vm/threadsuspend.cpp @@ -6060,7 +6060,13 @@ void ThreadSuspend::Initialize() HMODULE hModNtdll = WszLoadLibrary(W("ntdll.dll")); if (hModNtdll != NULL) { - g_returnAddressHijackTarget = (void*)GetProcAddress(hModNtdll, "RtlGetReturnAddressHijackTarget"); + typedef void* (*PFN_RtlGetReturnAddressHijackTarget)(void); + + void* rtlGetReturnAddressHijackTarget = GetProcAddress(hModNtdll, "RtlGetReturnAddressHijackTarget"); + if (rtlGetReturnAddressHijackTarget != NULL) + { + g_returnAddressHijackTarget = ((PFN_RtlGetReturnAddressHijackTarget)rtlGetReturnAddressHijackTarget)(); + } } if (g_returnAddressHijackTarget == NULL) {