Commit Graph

147 Commits

Author SHA1 Message Date
Alexandre Julliard 58eceff167 ntdll: Don't use wine/server.h from the PE side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:37 +01:00
Alexandre Julliard 584427fc89 server: Avoid redefining the DuplicateHandle() constants.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 21:20:47 +01:00
Rémi Bernon 255270373e ntdll: Raise debug exceptions when invalid heap is destroyed.
And when PEB->BeingDebugged is set to 1. Lords Of The Fallen anti-tamper
does this and only continues if a DBG_PRINTEXCEPTION_C is received.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 19:01:04 +01:00
Brendan Shanks fd80e0300c ntdll: Pad HEAP structure so 'flags' offset matches recent Windows.
Needed for Red Dead Redemption 2 to pass anti-debugger checks, it
accesses 'flags' and 'force_flags' at a fixed offset of the ProcessHeap.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49666
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 18:20:20 +02:00
Alexandre Julliard 704d0662be ntdll: Fix RtlSizeHeap() error value for 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 16:33:02 +02:00
Alexandre Julliard 8a169390c9 ntdll: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:25:08 +02:00
Alexandre Julliard 6b4de51027 ntdll: Don't use a custom alignment for large heap blocks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 12:33:11 +02:00
Alexandre Julliard f5f1737456 ntdll: Store the pending free list in the main process heap.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 12:33:11 +02:00
Alexandre Julliard 33937344a0 ntdll: Fix heap validation when large heap blocks are present.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Francois Gouget ca577af1bc ntdll: S/4Gb/4GB/ in a comment since it refers to bytes.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 19:01:10 +01:00
Michael Stefaniuc 724c216d18 ntdll: Remove useless cast to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:02 +02:00
Rémi Bernon 00451d5edf ntdll: Clarify NtAllocateVirtualMemory zero_bits parameter semantics.
This parameter was misinterpreted as an alignment parameter for the
lower bits of the allocated memory region, although it is a constraint
on the higher bits.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 20:55:35 +02:00
Alexandre Julliard a184ce483b ntdll: Avoid using DPRINTF().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:34:09 +02:00
Alex Henrie bca3ec9fd9 ntdll: Add DECLSPEC_HOTPATCH to functions patched by libtcmalloc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45199
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00
Michael Stefaniuc 10f23ddb58 ntdll: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Huw Davies 2175852f5a ntdll: Add free list buckets for every arena size up to 0x100.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:52:29 +02:00
Thomas Faller a0b8f178df ntdll: Fix valgrind heap realloc notifications.
Valgrind can't handle a realloc if the new size is zero.

Signed-off-by: Thomas Faller <tfaller1@gmx.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 21:55:26 +01:00
Francois Gouget ca1545cf17 ntdll: Remove unneeded NONAMELESSXXX directives. 2015-03-16 15:04:50 +09:00
Sergey Kalinichev 7eed378f5d ntdll: Add stub for RtlSetHeapInformation. 2014-12-19 22:36:17 +01:00
Alexandre Julliard 395df1aa2d ntdll: Heap handles should be 64K-aligned. 2014-03-26 11:24:30 +01:00
Alexandre Julliard 90e90e3b6a ntdll: Make the page_size variable global. 2013-01-08 16:35:30 +01:00
Dan Kegel 9af12506b0 ntdll: Avoid clobbering valgrind annotations during HeapReAlloc. 2012-06-11 11:26:43 +02:00
Maarten Lankhorst d9889cfd63 ntdll: Use VALGRIND_RESIZEINPLACE_BLOCK when available. 2011-11-15 11:46:02 +01:00
Marcus Meissner cfd5bfa86e ntdll: Avoid shadowing size variable. 2011-10-20 12:59:30 +02:00
Bart Van Assche c0913ed064 ntdll: Fix race condition in RtlCreateHeap(). 2011-03-29 12:37:26 +02:00
Alexandre Julliard 6a9f170b1c ntdll: Round up the initial commit size to the commit granularity. 2010-06-29 10:55:20 +02:00
Mikhail Maroukhine 2b8f11b8c0 ntdll: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:15:28 +02:00
Eric Pouech 10642e76db ntdll: Fix wrong marking for valgrind on 64bit systems. 2010-02-22 11:50:08 +01:00
Dan Kegel 20430f6ede ntdll: Fix large block realloc annotation. 2010-02-02 11:47:20 +01:00
Alexandre Julliard 156d66ec24 ntdll: Avoid reporting a freed block twice to Valgrind. 2010-02-01 12:35:32 +01:00
Alexandre Julliard 7ffb1c102e ntdll: Fix the various heap debug checks for 64-bit. 2010-01-29 13:28:57 +01:00
Alexandre Julliard 0692bfda5f ntdll: Don't require heap sizes to be 64K aligned. 2010-01-28 19:47:01 +01:00
Alexandre Julliard b7b8929f0b ntdll: Support delayed freeing of heap blocks to catch use-after-free bugs. 2010-01-28 19:43:38 +01:00
Alexandre Julliard a75ae7936e ntdll: Disable debug flags when running on Valgrind.
The extra debug checks cause more harm than good under Valgrind.
2010-01-28 19:42:48 +01:00
Alexandre Julliard 90f31aa381 ntdll: Always enable tail checking when running under Valgrind. 2010-01-27 18:46:08 +01:00
Alexandre Julliard 31aa3900e4 ntdll: Add 8 more bytes to the block tail when tail checking is enabled. 2010-01-27 18:46:07 +01:00
Alexandre Julliard d387a34d96 ntdll: Simplify the checking of heap pointers when debugging is not enabled. 2010-01-27 18:46:07 +01:00
Alexandre Julliard bf975d1f85 ntdll: Verify the tail contents when validating a large block. 2010-01-26 16:08:22 +01:00
Alexandre Julliard aa409c75f9 ntdll: Fill the tail of existing large blocks when the debug flags change. 2010-01-26 16:06:59 +01:00
Alexandre Julliard dedabe9d54 ntdll: Fill the tail of large blocks too for tail checking. 2010-01-26 16:04:45 +01:00
Alexandre Julliard cb2a5f7ef9 ntdll: Move alloc notification closer to the allocation for large blocks. 2010-01-26 16:03:07 +01:00
Alexandre Julliard 6864777a10 ntdll: Verify free block contents when validating the heap. 2010-01-26 14:35:08 +01:00
Alexandre Julliard c0abf594f8 ntdll: Verify the tail contents when validating an in-use block with tail checking enabled. 2010-01-26 14:34:31 +01:00
Alexandre Julliard a192695099 ntdll: Fill existing tail and free blocks when the debug flags are changed after heap creation. 2010-01-26 14:31:22 +01:00
Alexandre Julliard c15660054f ntdll: Use the same value as Windows for filling free heap blocks. 2010-01-26 14:30:25 +01:00
Alexandre Julliard 5cd254d729 ntdll: Fill the tail of heap blocks when HEAP_TAIL_CHECKING_ENABLED is set. 2010-01-26 14:29:51 +01:00
Alexandre Julliard aa9c7b070e ntdll: Use the heap flags instead of debug channels to test for enabled debug features. 2010-01-25 15:02:31 +01:00
Alexandre Julliard 9055e9e3dd ntdll: Set the heap debug flags based on the GlobalFlag value. 2010-01-22 12:33:03 +01:00
Dmitry Timoshkov 27ebfdb879 kernel32: Implement HeapQueryInformation, add some basic tests for it. 2009-10-12 12:48:03 +02:00
Alexandre Julliard 7f64b8a9a9 ntdll: Don't switch from small to large block when HEAP_REALLOC_IN_PLACE_ONLY is specified. 2009-08-05 20:35:36 +02:00