- RtlpInsertFreeBlockHelper: Don't validate the Previous Size of the next Heap Entry when inserting a free Heap Entry into a free list. Should solve bug #5843 and may affect bug #5857.
All callers of this function already perform this check, except for RtlpInsertFreeBlock, a function used during Heap Segment creation/expansion.
RtlpInsertFreeBlock creates multiple free Heap Entries (using the helper function) if the free space is too big to be contained in a single Heap Entry.
In such a case however, it creates a Heap Entry and calls the helper before creating the next Heap Entry, which triggers this assert.
svn path=/trunk/; revision=50617
FreeEntry->Flags &= HEAP_ENTRY_LAST_ENTRY;
}
- /* Check if PreviousSize of the next entry matches ours */
- if (!(FreeEntry->Flags & HEAP_ENTRY_LAST_ENTRY))
- {
- ASSERT(((PHEAP_ENTRY)FreeEntry + BlockSize)->PreviousSize == BlockSize);
- }
-
/* Insert it either into dedicated or non-dedicated list */
if (BlockSize < HEAP_FREELISTS)
{