Author: rmessiant
Date: Tue Feb 8 06:06:33 2011
New Revision: 50617
URL: http://svn.reactos.org/svn/reactos?rev=50617&view=rev
Log:
[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.
Modified:
trunk/reactos/lib/rtl/heap.c
Modified: trunk/reactos/lib/rtl/heap.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/heap.c?rev=50617&r…
==============================================================================
--- trunk/reactos/lib/rtl/heap.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/heap.c [iso-8859-1] Tue Feb 8 06:06:33 2011
@@ -233,12 +233,6 @@
{
/* Clear out all flags except the last entry one */
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 */