From 2915b7de9b1ffdf3fb608c7d5b5d2efefe342429 Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Fri, 9 Jul 2004 20:08:05 +0000 Subject: [PATCH] - Corrected the obtaining of TLS callbacks address. svn path=/trunk/; revision=10050 --- reactos/lib/ntdll/ldr/utils.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/reactos/lib/ntdll/ldr/utils.c b/reactos/lib/ntdll/ldr/utils.c index 41abc521a40..0ed85b43db0 100644 --- a/reactos/lib/ntdll/ldr/utils.c +++ b/reactos/lib/ntdll/ldr/utils.c @@ -1,4 +1,4 @@ -/* $Id: utils.c,v 1.97 2004/07/03 17:40:22 navaraf Exp $ +/* $Id: utils.c,v 1.98 2004/07/09 20:08:05 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -252,7 +252,10 @@ LdrpInitializeTlsForProccess(VOID) TlsData->StartAddressOfRawData = (PVOID)TlsDirectory->StartAddressOfRawData; TlsData->TlsDataSize = TlsDirectory->EndAddressOfRawData - TlsDirectory->StartAddressOfRawData; TlsData->TlsZeroSize = TlsDirectory->SizeOfZeroFill; - TlsData->TlsAddressOfCallBacks = *TlsDirectory->AddressOfCallBacks; + if (TlsDirectory->AddressOfCallBacks) + TlsData->TlsAddressOfCallBacks = *(PIMAGE_TLS_CALLBACK)RVA(Module->BaseAddress, TlsDirectory->AddressOfCallBacks); + else + TlsData->TlsAddressOfCallBacks = NULL; TlsData->Module = Module; #if 0 DbgPrint("TLS directory for %wZ\n", &Module->BaseDllName);