On 2015-02-13 00:35, hbelusca@svn.reactos.org wrote:
- if (LSData->Session->UserToken != NULL &&
!ImpersonateLoggedOnUser(LSData->Session->UserToken))- {
ERR("ImpersonateLoggedOnUser() failed with error %lu\n", GetLastError());return 0;- }
- /* Attempt to kill remaining processes. No notifications needed. */
- if (!ExitWindowsEx(EWX_CALLER_WINLOGON | EWX_NONOTIFY | EWX_FORCE | EWX_LOGOFF, 0))
- {
ERR("Unable to kill COM apps, error %lu\n", GetLastError());RevertToSelf();return 0;- }
- if (LSData->Session->UserToken)
RevertToSelf();
Sounds like the RevertToSelf() call in the error case should not be unconditional.