From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7868) id DAE05385800E; Mon, 18 Apr 2022 12:03:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DAE05385800E Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Takashi Yano To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: pty: Do not set internal handles in HPCON inheritable. X-Act-Checkin: newlib-cygwin X-Git-Author: Takashi Yano X-Git-Refname: refs/heads/master X-Git-Oldrev: 27f0913c17c216548b2f5eea79037ee90038f375 X-Git-Newrev: b58b5a96601f9e7424e4cb21aa0b9b2915daa49c Message-Id: <20220418120332.DAE05385800E@sourceware.org> Date: Mon, 18 Apr 2022 12:03:32 +0000 (GMT) X-BeenThere: cygwin-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Apr 2022 12:03:33 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Db58b5a96601= f9e7424e4cb21aa0b9b2915daa49c commit b58b5a96601f9e7424e4cb21aa0b9b2915daa49c Author: Takashi Yano Date: Mon Apr 11 10:44:41 2022 +0900 Cygwin: pty: Do not set internal handles in HPCON inheritable. =20 - 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. =20 Addresses: https://cygwin.com/pipermail/cygwin/2022-April/251222.html Diff: --- 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..484bf55dc 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -2056,7 +2056,7 @@ fhandler_pty_common::resize_pseudo_console (struct wi= nsize *ws) OpenProcess (PROCESS_DUP_HANDLE, FALSE, get_ttyp ()->nat_pipe_owner_pi= d); 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);