* dtable.cc (dtable::vfork_child_dup): Revert impersonation
before duplicating fhandler.
This commit is contained in:
parent
34397675de
commit
928eca7a58
|
@ -1,3 +1,8 @@
|
|||
2001-10-31 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* dtable.cc (dtable::vfork_child_dup): Revert impersonation
|
||||
before duplicating fhandler.
|
||||
|
||||
2001-10-30 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* exceptions.cc (signal_exit): Weight the odds against the main thread
|
||||
|
|
|
@ -559,6 +559,10 @@ dtable::vfork_child_dup ()
|
|||
newtable = (fhandler_base **) ccalloc (HEAP_ARGV, size, sizeof (fds[0]));
|
||||
int res = 1;
|
||||
|
||||
/* Remove impersonation */
|
||||
if (cygheap->user.impersonated && cygheap->user.token != INVALID_HANDLE_VALUE)
|
||||
RevertToSelf ();
|
||||
|
||||
for (size_t i = 0; i < size; i++)
|
||||
if (not_open (i))
|
||||
continue;
|
||||
|
@ -571,6 +575,10 @@ dtable::vfork_child_dup ()
|
|||
goto out;
|
||||
}
|
||||
|
||||
/* Restore impersonation */
|
||||
if (cygheap->user.impersonated && cygheap->user.token != INVALID_HANDLE_VALUE)
|
||||
ImpersonateLoggedOnUser (cygheap->user.token);
|
||||
|
||||
fds_on_hold = fds;
|
||||
fds = newtable;
|
||||
|
||||
|
|
Loading…
Reference in New Issue