Author: tfaber
Date: Sat May  5 08:49:45 2012
New Revision: 56503

URL: http://svn.reactos.org/svn/reactos?rev=56503&view=rev
Log:
[NTOSKRNL]
- Give more useful debug output on BAD_POOL_HEADER bug checks

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?rev=56503&r1=56502&r2=56503&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/expool.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/expool.c [iso-8859-1] Sat May  5 08:49:45 
2012
@@ -205,6 +205,9 @@
         if (PreviousEntry->BlockSize != Entry->PreviousSize)
         {
             /* Otherwise, someone corrupted one of the sizes */
+            DPRINT1("PreviousEntry BlockSize %lu, tag %.4s. Entry PreviousSize 
%lu, tag %.4s\n",
+                    PreviousEntry->BlockSize, (char *)&PreviousEntry->PoolTag,
+                    Entry->PreviousSize, (char *)&Entry->PoolTag);
             KeBugCheckEx(BAD_POOL_HEADER,
                          5,
                          (ULONG_PTR)PreviousEntry,
@@ -226,6 +229,18 @@
     if (!Entry->BlockSize)
     {
         /* Someone must've corrupted this field */
+        if (Entry->PreviousSize)
+        {
+            PreviousEntry = POOL_PREV_BLOCK(Entry);
+            DPRINT1("PreviousEntry tag %.4s. Entry tag %.4s\n",
+                    (char *)&PreviousEntry->PoolTag,
+                    (char *)&Entry->PoolTag);
+        }
+        else
+        {
+            DPRINT1("Entry tag %.4s\n",
+                    (char *)&Entry->PoolTag);
+        }
         KeBugCheckEx(BAD_POOL_HEADER,
                      8,
                      0,
@@ -254,6 +269,9 @@
         if (NextEntry->PreviousSize != Entry->BlockSize)
         {
             /* Otherwise, someone corrupted the field */
+            DPRINT1("Entry BlockSize %lu, tag %.4s. NextEntry PreviousSize 
%lu, tag %.4s\n",
+                    Entry->BlockSize, (char *)&Entry->PoolTag,
+                    NextEntry->PreviousSize, (char *)&NextEntry->PoolTag);
             KeBugCheckEx(BAD_POOL_HEADER,
                          5,
                          (ULONG_PTR)NextEntry,


Reply via email to