reactos/sdk/lib/rtl
Timo Kreuzer daf557b245 [RTL/x64] Fix a bug in RtlpUnwindInternal
Check if the stack pointer is out of bounds, before trying to unwind a frame. This will not fix any crashes, but it prevents simple crashes from going into a recursive exception.
2025-02-01 15:24:56 +02:00
..
amd64 [RTL/x64] Fix a bug in RtlpUnwindInternal 2025-02-01 15:24:56 +02:00
arm
i386
access.c
acl.c
actctx.c [RTL] actctx.c: Restore wine tracing 2024-11-05 10:54:21 +02:00
appverifier.c
assert.c [RTL][KERNEL32][ROSAUTOTEST] Disable debug prompts during autotest 2024-09-16 10:10:55 +03:00
atom.c
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c
byteswap.c
CMakeLists.txt [KERNEL32][ROSTESTS][SDK] Enable threadpooling 2025-01-26 23:30:59 -08:00
compress.c
condvar.c [KERNEL32_VISTA][SDK] Move SRW definitions to NDK (#6806) 2024-06-11 22:03:57 +02:00
crc32.c [DBGHELP][NDK][RTL] *RtlComputeCrc32(): Add 'const' to 2nd parameter (#6973) 2024-06-04 13:35:57 +02:00
critical.c [RTL] Update CountOfOwnedCriticalSections in the TEB 2025-01-18 21:15:17 +02:00
dbgbuffer.c
debug.c [RTL] Fix overflow case in vDbgPrintExWithPrefixInternal 2024-08-30 06:38:29 +03:00
dos8dot3.c
encode.c
env.c
error.c
exception.c
generictable.c
handle.c
heap.c [REACTOS] Refresh old URLs (#7632) 2025-01-28 13:36:45 +09:00
heap.h [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
heapdbg.c [REACTOS] Add missing line breaks at end of file 2024-10-06 10:47:11 +03:00
heappage.c [REACTOS] Refresh old URLs (#7632) 2025-01-28 13:36:45 +09:00
heapuser.c [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
image.c [NTDLL:LDR] Little fixes about SAL annotation and behavior (#5793) 2023-11-15 20:59:32 +01:00
interlck.c
largeint.c
luid.c
mem.c
memstream.c
message.c
network.c [RTL] ntdll: Implement RtlIpv6StringToAddress(Ex)[AW] 2024-11-02 21:57:28 +01:00
nls.c
path.c
ppb.c
prefix.c
priv.c
process.c
propvar.c
random.c
rangelist.c
readme.txt
registry.c
res.c
resource.c
rtl.h [KERNEL32][ROSTESTS][SDK] Enable threadpooling 2025-01-26 23:30:59 -08:00
rtl_vista.h
rtlavl.h
rtlp.h
runonce.c
rxact.c
sd.c
security.c
sid.c
slist.c [RTL/x64] Fix a GCC compiler warning 2024-03-19 07:42:35 +01:00
splaytree.c
srw.c
sysvol.c
thread.c
threadpool.c [KERNEL32][ROSTESTS][SDK] Enable threadpooling 2025-01-26 23:30:59 -08:00
time.c
timerqueue.c [KERNEL32][ROSTESTS][SDK] Enable threadpooling 2025-01-26 23:30:59 -08:00
timezone.c
trace.c
unicode.c
unicodeprefix.c
utf8.c
vectoreh.c
version.c
wine_debug.c [RTL] Add minimal wine debug support functions 2024-11-05 10:54:21 +02:00
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.