- Don't leak desktop reference in failure case of NtUserSwitchDesktop
svn path=/trunk/; revision=71167
if (PsGetCurrentProcessSessionId() != pdesk->rpwinstaParent->dwSessionId)
{
if (PsGetCurrentProcessSessionId() != pdesk->rpwinstaParent->dwSessionId)
{
+ ObDereferenceObject(pdesk);
ERR("NtUserSwitchDesktop called for a desktop of a different session\n");
RETURN(FALSE);
}
if(pdesk == gpdeskInputDesktop)
{
ERR("NtUserSwitchDesktop called for a desktop of a different session\n");
RETURN(FALSE);
}
if(pdesk == gpdeskInputDesktop)
{
+ ObDereferenceObject(pdesk);
WARN("NtUserSwitchDesktop called for active desktop\n");
RETURN(TRUE);
}
WARN("NtUserSwitchDesktop called for active desktop\n");
RETURN(TRUE);
}