[HEAP]
authorRoel Messiant <roelmessiant@gmail.com>
Tue, 8 Feb 2011 06:06:33 +0000 (06:06 +0000)
committerRoel Messiant <roelmessiant@gmail.com>
Tue, 8 Feb 2011 06:06:33 +0000 (06:06 +0000)
- 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

index 7454ddc..9a563ee 100644 (file)
@@ -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)
     {