mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 17:06:29 +00:00
[HEAP]
- Set proper heap flags (tail and free checking) in case heap validation is enabled. Fixes another bunch of winetests. svn path=/trunk/; revision=49057
This commit is contained in:
parent
8618ae85de
commit
129f3f133d
|
@ -1656,6 +1656,24 @@ RtlCreateHeap(ULONG Flags,
|
|||
TotalSize = ROUND_UP(CommitSize, 16 * PAGE_SIZE);
|
||||
}
|
||||
|
||||
if (RtlpGetMode() == UserMode)
|
||||
{
|
||||
/* TODO: Here should be a call to special "Debug" heap, which does parameters validation,
|
||||
however we're just going to simulate setting correct flags here */
|
||||
if (Flags & (HEAP_VALIDATE_ALL_ENABLED |
|
||||
HEAP_VALIDATE_PARAMETERS_ENABLED |
|
||||
HEAP_CAPTURE_STACK_BACKTRACES |
|
||||
HEAP_FLAG_PAGE_ALLOCS |
|
||||
HEAP_CREATE_ENABLE_TRACING) &&
|
||||
!(Flags & HEAP_SKIP_VALIDATION_CHECKS))
|
||||
{
|
||||
// RtlDebugCreateHeap(Flags, Addr, TotalSize, CommitSize, Lock, Parameters);
|
||||
Flags |= HEAP_SKIP_VALIDATION_CHECKS |
|
||||
HEAP_TAIL_CHECKING_ENABLED |
|
||||
HEAP_FREE_CHECKING_ENABLED;
|
||||
}
|
||||
}
|
||||
|
||||
/* Calculate header size */
|
||||
HeaderSize = sizeof(HEAP);
|
||||
if (!(Flags & HEAP_NO_SERIALIZE))
|
||||
|
|
Loading…
Reference in a new issue