From 67f749a33bfe129f96754a701ee944a7d33dbf52 Mon Sep 17 00:00:00 2001 From: Roel Messiant Date: Tue, 8 Feb 2011 06:06:33 +0000 Subject: [PATCH] [HEAP] - 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 --- reactos/lib/rtl/heap.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/reactos/lib/rtl/heap.c b/reactos/lib/rtl/heap.c index 7454ddc49c4..9a563eeecd0 100644 --- a/reactos/lib/rtl/heap.c +++ b/reactos/lib/rtl/heap.c @@ -235,12 +235,6 @@ RtlpInsertFreeBlockHelper(PHEAP Heap, 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) {