[NTOSKRNL:MM]
authorThomas Faber <thomas.faber@reactos.org>
Mon, 28 Jan 2013 18:58:55 +0000 (18:58 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Mon, 28 Jan 2013 18:58:55 +0000 (18:58 +0000)
- Validate virtual address range on pool free
CORE-6929
CORE-6712 #resolve

svn path=/trunk/; revision=58247

reactos/ntoskrnl/mm/ARM3/pool.c

index 728949d..e8ade80 100644 (file)
@@ -408,8 +408,11 @@ MmDeterminePoolType(IN PVOID PoolAddress)
     //
     // Use a simple bounds check
     //
-    return (PoolAddress >= MmPagedPoolStart) && (PoolAddress <= MmPagedPoolEnd) ?
-            PagedPool : NonPagedPool;
+    if (PoolAddress >= MmPagedPoolStart && PoolAddress <= MmPagedPoolEnd)
+        return PagedPool;
+    else if (PoolAddress >= MmNonPagedPoolStart && PoolAddress <= MmNonPagedPoolEnd)
+        return NonPagedPool;
+    KeBugCheckEx(BAD_POOL_CALLER, 0x42, (ULONG_PTR)PoolAddress, 0, 0);
 }
 
 PVOID