Author: rharabien
Date: Wed Jun 1 18:16:52 2011
New Revision: 52044
URL:
http://svn.reactos.org/svn/reactos?rev=52044&view=rev
Log:
[NTOSKRNL]
- Bugcheck if ExFreePoolWithTag is called with wrong tag
Modified:
trunk/reactos/ntoskrnl/mm/ARM3/expool.c
Modified: trunk/reactos/ntoskrnl/mm/ARM3/expool.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/expool.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/expool.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/expool.c [iso-8859-1] Wed Jun 1 18:16:52 2011
@@ -736,7 +736,7 @@
//
// Use a default tag of "None"
//
- return ExAllocatePoolWithTag(PoolType, NumberOfBytes, 'enoN');
+ return ExAllocatePoolWithTag(PoolType, NumberOfBytes, TAG_NONE);
}
/*
@@ -789,6 +789,15 @@
OldIrql = ExLockPool(PoolDesc);
//
+ // Check block tag
+ //
+ if (TagToFree && TagToFree != Entry->PoolTag)
+ {
+ DPRINT1("Freeing pool - invalid tag specified: %.4s != %.4s\n",
(char*)&TagToFree, (char*)&Entry->PoolTag);
+ KeBugCheckEx(BAD_POOL_CALLER, 0x0A, (ULONG_PTR)P, Entry->PoolTag, TagToFree);
+ }
+
+ //
// Check if the next allocation is at the end of the page
//
ExpCheckPoolBlocks(Entry);