aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorTakashi Yano <takashi.yano@nifty.ne.jp>2022-04-11 10:54:44 +0900
committerTakashi Yano <takashi.yano@nifty.ne.jp>2022-04-11 10:54:44 +0900
commit8b9e3ac4080bf34f7b0a6122741ff2f8db810522 (patch)
treeea83dc5219ff5c920bab02aae8af014c429a1f65 /winsup
parent7ed6d0249f1f06bb42b13587598fbbb30cf81a82 (diff)
downloadnewlib-8b9e3ac4080bf34f7b0a6122741ff2f8db810522.zip
newlib-8b9e3ac4080bf34f7b0a6122741ff2f8db810522.tar.gz
newlib-8b9e3ac4080bf34f7b0a6122741ff2f8db810522.tar.bz2
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
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/fhandler_tty.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 3699232..c91f400 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -2122,7 +2122,7 @@ fhandler_pty_common::resize_pseudo_console (struct winsize *ws)
OpenProcess (PROCESS_DUP_HANDLE, FALSE, get_ttyp ()->pcon_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 ();
@@ -3600,15 +3600,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);