Cygwin: pty: Do not set internal handles in HPCON inheritable.
- The internal handles in HPCON should not be inheritable, however, the current code duplicates them as inheritable when handing over ownership of the pseudo console. This patch fixes the issue. Addresses: https://cygwin.com/pipermail/cygwin/2022-April/251222.html
This commit is contained in:
parent
27f0913c17
commit
b58b5a9660
|
@ -2056,7 +2056,7 @@ fhandler_pty_common::resize_pseudo_console (struct winsize *ws)
|
|||
OpenProcess (PROCESS_DUP_HANDLE, FALSE, get_ttyp ()->nat_pipe_owner_pid);
|
||||
DuplicateHandle (pcon_owner, get_ttyp ()->h_pcon_write_pipe,
|
||||
GetCurrentProcess (), &hpcon_local.hWritePipe,
|
||||
0, TRUE, DUPLICATE_SAME_ACCESS);
|
||||
0, FALSE, DUPLICATE_SAME_ACCESS);
|
||||
acquire_attach_mutex (mutex_timeout);
|
||||
ResizePseudoConsole ((HPCON) &hpcon_local, size);
|
||||
release_attach_mutex ();
|
||||
|
@ -3551,15 +3551,15 @@ fhandler_pty_slave::close_pseudoconsole (tty *ttyp, DWORD force_switch_to)
|
|||
DuplicateHandle (GetCurrentProcess (),
|
||||
ttyp->h_pcon_write_pipe,
|
||||
new_owner, &new_write_pipe,
|
||||
0, TRUE, DUPLICATE_SAME_ACCESS);
|
||||
0, FALSE, DUPLICATE_SAME_ACCESS);
|
||||
DuplicateHandle (GetCurrentProcess (),
|
||||
ttyp->h_pcon_condrv_reference,
|
||||
new_owner, &new_condrv_reference,
|
||||
0, TRUE, DUPLICATE_SAME_ACCESS);
|
||||
0, FALSE, DUPLICATE_SAME_ACCESS);
|
||||
DuplicateHandle (GetCurrentProcess (),
|
||||
ttyp->h_pcon_conhost_process,
|
||||
new_owner, &new_conhost_process,
|
||||
0, TRUE, DUPLICATE_SAME_ACCESS);
|
||||
0, FALSE, DUPLICATE_SAME_ACCESS);
|
||||
DuplicateHandle (GetCurrentProcess (), ttyp->h_pcon_in,
|
||||
new_owner, &new_pcon_in,
|
||||
0, TRUE, DUPLICATE_SAME_ACCESS);
|
||||
|
|
Loading…
Reference in New Issue