reactos/sdk/lib/rtl
Mark Jansen 177ae91bf6
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857
2020-03-29 21:27:38 +02:00
..
amd64 [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
arm
i386 [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
powerpc
access.c
acl.c
actctx.c [NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
appverifier.c
assert.c [REACTOS] RtlAssert(): use "%lu" as LineNumber format. 2018-08-08 21:24:07 +02:00
atom.c
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures 2018-02-04 09:33:32 -08:00
byteswap.c
CMakeLists.txt [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures 2018-02-04 09:33:32 -08:00
compress.c
crc32.c
critical.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
dbgbuffer.c
debug.c [SDK] Reset InDbgPrint state when an exception occurs 2019-01-05 15:21:40 +01:00
dos8dot3.c
encode.c
env.c
error.c
exception.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
generictable.c
handle.c
heap.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
heap.h
heapdbg.c
heappage.c
heapuser.c
image.c [RTL] Introduce RtlpImageNtHeader, 2020-03-29 21:27:38 +02:00
interlck.c
largeint.c
luid.c
mem.c [NDK][XDK][RTL] Fix definition of RtlFillMemoryUlong on x64 2020-01-03 13:00:45 +01:00
memstream.c [NTOS][NDK][RTL] A bunch of 'wrong size' fixes 2017-12-20 06:56:09 +01:00
message.c
network.c [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
nls.c
path.c [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
ppb.c
prefix.c
priv.c
process.c
propvar.c
random.c
rangelist.c
readme.txt
registry.c [NTDLL_APITEST][LIB_RTL] Add a test for RtlQueryTimeZoneInformation and fix the bug in RtlpQueryRegistryDirect 2018-05-31 16:47:42 +02:00
res.c
resource.c
rtl.h
rtlavl.h
rtlp.h [NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
rxact.c [NDK] Fix alignment macros and add missing ones 2018-07-01 14:45:21 +02:00
sd.c
security.c [RTL] Fix RtlNewSecurityGrantedAccess improperly zeroing output buffer 2018-12-31 11:19:36 +01:00
sid.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
slist.c
splaytree.c
sysvol.c [RTL]: Document and flesh out Boot Status Data (BSD) API/Structures 2018-02-04 09:33:32 -08:00
thread.c [KERNEL32][RTL] Diverse fixes/improvements for thread stack creation code. (#802) 2019-08-01 19:04:13 +02:00
time.c
timerqueue.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
timezone.c
trace.c [NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671 2020-02-09 08:37:58 +01:00
unicode.c [RTL] Fix RtlValidateUnicodeString() regarding the tests and add some SAL annotations. 2020-01-02 21:11:28 +01:00
unicodeprefix.c
vectoreh.c
version.c
wait.c
workitem.c

RTL restrictions:

ExAllocatePool (and friends) must be used exclusively. RtlAllocateHeap (and friends) must NOT be used! ExAllocatePool (and friends) translate to RtlAllocateHeap (and friends) in ntdll\rtl\libsupp.c.

RtlEnterCriticalSection (and friends) must be used exclusively. ExAcquireFastMutex (and friends) must NOT be used! RtlEnterCriticalSection (and friends) translate to ExAcquireFastMutex (and friends) in ntoskrnl\rtl\libsupp.c. This means that RtlEnterCriticalSection (and friends) can NOT be used recursively in RTL. The reason for choosing RtlEnterCriticalSection (and friends) over ExAcquireFastMutex (and friends) is that the FAST_MUTEX struct is smaller than the RTL_CRITICAL_SECTION struct.