mirror of
https://github.com/reactos/reactos.git
synced 2026-05-27 11:24:34 +08:00
Before Windows Vista, TLS directories were ignored by Ldr* in any module loaded after process creation, which meant that the TLS index in any delay-loaded module remained 0. This means that when running an application targeting Vista and above and its delay-load modules have TLS directories, the following events can happen:
One or more delay-load modules claim ThreadLocalStoragePointer idx 0, resulting in data corruption and possible buffer overflows as data intended for one of the immediate-load modules is overwritten.
None of the immediate-load modules has a TLS directory, so ThreadLocalStoragePointer is not initialized. This means that the program crashes when one of the delay-load modules attempts to access its TLS data.
Adding implicit TLS support improves support for NT 6.x/10 user-mode applications, including all contemporary major web browsers.
JIRA issue: CORE-19413
---------
Co-authored-by: Justin Miller <justin.miller@reactos.org>
====================
ReactOS Tests
====================
This directory contains various tests for ReactOS.
Make sure you also have a copy of the rest of the ReactOS
source before you attempt to build anything in this module.
It is to be placed under "modules" subdirectory of a trunk checkout.
The module requires to be enabled during the "configure" process.
To include the module in your build folder, run the configure script with the flags -DENABLE_ROSTESTS=1
# For Windows users
configure.cmd -DENABLE_ROSTESTS=1
# For UNIX users
./configure.sh -DENABLE_ROSTESTS=1