[ros-bugs] [Bug 3513] New: Kernel crash when creating 4100th handle
ReactOS.Bugzilla at www.reactos.org
ReactOS.Bugzilla at www.reactos.org
Sun Jul 13 01:04:37 CEST 2008
http://www.reactos.org/bugzilla/show_bug.cgi?id=3513
Summary: Kernel crash when creating 4100th handle
Product: ReactOS
Version: unspecified
Platform: QEmu
OS/Version: ReactOS
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: Kernel
AssignedTo: ros-bugs at reactos.org
ReportedBy: stefan__100__ at hotmail.com
QAContact: ros-bugs at reactos.org
When a process creates a 4100th handle, the kernel crashes in
ntoskrnl/ex/handle.c at line 750 due to dereferencing 0x0000000C.
The line, which is in function ExpAllocateHandleTableEntry, is this:
NewValue = *(volatile ULONG*)&Entry->NextFreeTableEntry;
However, note that "Entry" isn't NULL but 0x8.
We retreive "Entry" at line 733 by calling ExpLookupHandleTableEntry.
(Note that there is an unrelated bug here -- we don't test if Entry returned
from ExpLookupHandleTableEntry is NULL. We should and fail in that case by
returning NULL.)
In ExpLookupHandleTableEntry, we get the bad Entry at line 83 in "case 1:".
Everytime I received an Entry with the value 0x8, variables had the following
values:
LookupHandle.Value is 4100
Handle.Value is 4096
Level1 is 0
Level2 is 0x8D2F7000
i is 4l
j is 8l
Obviously, something is wrong with Level1, but I was unable to examine further
due to lack of understanding of our handle table.
NOTE: Line numbers are relative to revision 34440 (current trunk).
--
Configure bugmail: http://www.reactos.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Ros-bugs
mailing list