mirror of
https://github.com/reactos/reactos.git
synced 2024-07-27 14:49:22 +00:00
[NTOSKRNL]
- Give more useful debug output on BAD_POOL_HEADER bug checks svn path=/trunk/; revision=56503
This commit is contained in:
parent
5344c175ee
commit
19810b80d1
|
@ -205,6 +205,9 @@ ExpCheckPoolHeader(IN PPOOL_HEADER Entry)
|
||||||
if (PreviousEntry->BlockSize != Entry->PreviousSize)
|
if (PreviousEntry->BlockSize != Entry->PreviousSize)
|
||||||
{
|
{
|
||||||
/* Otherwise, someone corrupted one of the sizes */
|
/* 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,
|
KeBugCheckEx(BAD_POOL_HEADER,
|
||||||
5,
|
5,
|
||||||
(ULONG_PTR)PreviousEntry,
|
(ULONG_PTR)PreviousEntry,
|
||||||
|
@ -226,6 +229,18 @@ ExpCheckPoolHeader(IN PPOOL_HEADER Entry)
|
||||||
if (!Entry->BlockSize)
|
if (!Entry->BlockSize)
|
||||||
{
|
{
|
||||||
/* Someone must've corrupted this field */
|
/* 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,
|
KeBugCheckEx(BAD_POOL_HEADER,
|
||||||
8,
|
8,
|
||||||
0,
|
0,
|
||||||
|
@ -254,6 +269,9 @@ ExpCheckPoolHeader(IN PPOOL_HEADER Entry)
|
||||||
if (NextEntry->PreviousSize != Entry->BlockSize)
|
if (NextEntry->PreviousSize != Entry->BlockSize)
|
||||||
{
|
{
|
||||||
/* Otherwise, someone corrupted the field */
|
/* 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,
|
KeBugCheckEx(BAD_POOL_HEADER,
|
||||||
5,
|
5,
|
||||||
(ULONG_PTR)NextEntry,
|
(ULONG_PTR)NextEntry,
|
||||||
|
|
Loading…
Reference in a new issue