- reference the current process info structure while we're leaving win32k.
The process can die anytime while we're not looking.
CORE-8663 #resolve

svn path=/trunk/; revision=64863
This commit is contained in:
Jérôme Gardou
2014-10-21 10:45:55 +00:00
parent 84c07bcc10
commit 2e2957d928
+8
View File
@@ -2882,6 +2882,13 @@ NtUserWaitForInputIdle( IN HANDLE hProcess,
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 @@ WaitExit:
pti->pClientInfo->dwTIFlags = pti->TIF_flags;
}
W32Process->W32PF_flags &= ~W32PF_WAITFORINPUTIDLE;
IntDereferenceProcessInfo(W32Process);
ObDereferenceObject(Process);
UserLeave();
return Status;