Looks like the CSRSS bug in Windows

 -- by setting this to NULL, something is probably trying to dereference it and crashes.

What is the original value? Probably some bogus uninitialized variable that happens to be valid memory...

Best regards,
Alex Ionescu


On Tue, May 12, 2009 at 7:03 AM, James Tabor <jimtabor.rosdev@gmail.com> wrote:
This should work! It's just writing zero into a place holder in TEB
but it throws a exception and kills boot!


Index: win32k/ntuser/misc.c
===================================================================
--- win32k/ntuser/misc.c        (revision 40892)
+++ win32k/ntuser/misc.c        (working copy)
@@ -550,6 +550,7 @@
 //                ci->pClientThreadInfo = &ti->ClientThreadInfo; // FIXME!
                ci->pClientThreadInfo = NULL;
                ci->ppi = ti->ppi;
+                ci->pDeskInfo = NULL;
            }
            _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
            {
_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev