[PATCH] Cygwin: pty: Do not set internal handles in HPCON inheritable.

Takashi Yano takashi.yano@nifty.ne.jp
Mon Apr 18 11:48:53 GMT 2022


- 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
---
 winsup/cygwin/fhandler_tty.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index c02dfb8ed..b03087ba5 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -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);
-- 
2.35.1



More information about the Cygwin-patches mailing list