Commit Graph

117 Commits

Author SHA1 Message Date
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
Alexandre Julliard 5f23006441 ntdll: Go back to growing the heap in smaller increments once we start running out of address space. 2009-06-30 14:07:18 +02:00
Alexandre Julliard c03991be68 ntdll: Large heap blocks don't need to be 64k aligned. 2009-06-30 14:06:55 +02:00
Alexandre Julliard c68594a941 ntdll: Don't try to decommit a heap past its initial commit size. 2009-06-25 14:33:31 +02:00
Alexandre Julliard 476324e8ba ntdll: Compute the free lists address at run-time instead of playing with alignment and padding. 2009-06-25 14:33:15 +02:00
Alexandre Julliard 13a33b73c3 ntdll: Free old memory block when reallocating to a large block. 2009-05-18 12:12:12 +02:00
Dan Kegel 3e6d0789d0 ntdll: Add missing RtlReAllocateHeap Valgrind hook, add tests. 2009-04-27 13:22:49 +02:00
Dan Kegel 999bb6a0e9 ntdll: Add missing valgrind hook in RtlAllocateHeap. 2009-04-16 11:28:53 -05:00
Michael Stefaniuc d2f6f56873 ntdll: Remove superfluous pointer casts. 2009-03-23 12:40:53 +01:00
Alexandre Julliard 324a803532 ntdll: Fix heap management for 64-bit. 2008-12-12 10:18:41 +01:00
Alexandre Julliard c38ce28af5 ntdll: Increase subheap size quadratically to avoid slowdown when allocating tons of heap memory. 2008-11-18 12:49:12 +01:00
Alexandre Julliard 222e406deb ntdll: Create a separate heap for allocating memory views instead of using malloc. 2008-10-31 13:00:59 +01:00
Alexandre Julliard bb98004249 ntdll: Merge HEAP_InitSubHeap and HEAP_CreateSubHeap. 2008-10-31 13:00:15 +01:00
Alexandre Julliard 21453b4c2e ntdll: Allocate a new virtual region for large blocks, and ensure 16-byte alignment. 2008-10-29 17:32:45 +01:00
Andrew Talbot a63749cce0 ntdll: Sign-compare warnings fix. 2008-10-24 14:25:00 +02:00
John Reiser d6f4691106 ntdll: When tracking allocated blocks, RtlDestroyHeap must notify that all the blocks are being freed. 2008-07-25 11:52:43 +02:00
Andrew Talbot 741b65c200 ntdll: Remove unneeded address-of operators from array names. 2008-07-11 14:06:27 +02:00
Maarten Lankhorst a9a852faa9 ntdll: Give earlier notify to valgrind that HeapFree is trying to free some memory. 2008-05-22 11:45:40 +02:00
Rob Shearman e7d91129d9 ntdll: When using HEAP_ZERO_MEMORY in heap allocation functions, don't clear the whole block.
Instead only clear the number of bytes requested and mark the remainder 
as uninitialised.
2008-02-21 13:00:05 +01:00
Rob Shearman 10b38faf3a ntdll: Fix the use of oldSize in RtlReAllocateHeap as both the size of the old block and the number of bytes used in the old block. 2008-02-21 12:55:49 +01:00
Andrew Talbot 1ebe82af65 ntdll: Remove unneeded casts. 2007-12-31 16:45:22 +01:00
Eric Pouech aff968fb47 valgrind: Made Wine compliant will latest Valgrind macros (the one removed from 3.3.0 and deprecated since 3.2.0). 2007-12-24 13:30:39 +01:00
Lionel Debroux ec80b544e1 ntdll: Trace arena magics (may help debugging some heap corruptions). 2007-11-28 11:17:56 +01:00
Michael Stefaniuc 0ecf2edca0 ntdll: Remove duplicate includes. 2007-11-19 13:54:09 +01:00
Juan Lang dc7ee864b5 ntdll: Fix a typo. 2007-10-03 10:08:41 +02:00
Alexandre Julliard cbf8838dfb ntdll: Fix the HEAP_CreateSubHeap return value (spotted by Allan Tong). 2007-10-03 10:08:34 +02:00
Alexandre Julliard e599584a68 ntdll: Make the heap structure more compatible with the NT layout. 2007-10-02 11:23:40 +02:00
Alexandre Julliard 80a6bb1d8b ntdll: Convert the subheap list to a standard list. 2007-10-02 11:23:38 +02:00
Alexandre Julliard 1d063ae18d ntdll: Remove assumptions that the subheap is at the beginning of the memory block. 2007-10-02 11:23:36 +02:00
Alexandre Julliard d73dbecf68 ntdll: Clear heap blocks also for WARN_ON(heap). 2007-10-01 19:55:20 +02:00
Detlef Riekenberg a45badf5c0 ntdll: Make RtlCompactHeap more silent. 2007-08-28 11:55:22 +02:00