Author: jgardou Date: Tue Oct 21 10:45:55 2014 New Revision: 64863
URL: http://svn.reactos.org/svn/reactos?rev=64863&view=rev Log: [WIN32K] - reference the current process info structure while we're leaving win32k. The process can die anytime while we're not looking. CORE-8663 #resolve
Modified: trunk/reactos/win32ss/user/ntuser/message.c
Modified: trunk/reactos/win32ss/user/ntuser/message.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/message... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/message.c [iso-8859-1] Tue Oct 21 10:45:55 2014 @@ -2882,6 +2882,13 @@
TRACE("WFII: ppi %p\n", W32Process); TRACE("WFII: waiting for %p\n", Handles[1] ); + + /* + * We must add a refcount to our current PROCESSINFO, + * because anything could happen (including process death) we're leaving win32k + */ + IntReferenceProcessInfo(W32Process); + do { UserLeave(); @@ -2935,6 +2942,7 @@ pti->pClientInfo->dwTIFlags = pti->TIF_flags; } W32Process->W32PF_flags &= ~W32PF_WAITFORINPUTIDLE; + IntDereferenceProcessInfo(W32Process); ObDereferenceObject(Process); UserLeave(); return Status;