From 831b1569dc8a1ab9a9767f525eca17fccdb3e0d0 Mon Sep 17 00:00:00 2001 From: Takashi Yano Date: Wed, 18 Sep 2019 23:29:17 +0900 Subject: [PATCH] Cygwin: pty: Avoid potential segfault in PTY code when ppid = 1. --- winsup/cygwin/fhandler_tty.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index 659e7b595..2a1c34f7d 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -137,9 +137,16 @@ force_attach_to_pcon (HANDLE h) /* If the process is running on a console, the parent process should be attached to the same console. */ - pinfo p (myself->ppid); + DWORD attach_wpid; + if (myself->ppid == 1) + attach_wpid = ATTACH_PARENT_PROCESS; + else + { + pinfo p (myself->ppid); + attach_wpid = p->dwProcessId; + } FreeConsole (); - if (AttachConsole (p->dwProcessId)) + if (AttachConsole (attach_wpid)) { pcon_attached_to = -1; attach_done = true;