https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=394c380746bbc6b371aae652469a6fe770dc45d9
commit 394c380746bbc6b371aae652469a6fe770dc45d9 Author: Takashi Yano <[email protected]> Date: Sun Feb 13 05:12:18 2022 +0900 Cygwin: pty: Fix a bug in tty_min::segpgid(). - In tty_min::setpgid(), a pointer to fhandler instance is casted to fhandler_pty_slave and accessed even if terminal is not a pty slave. This patch fixes the issue. Diff: --- winsup/cygwin/tty.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/tty.cc b/winsup/cygwin/tty.cc index da75b8dd2..c0015aceb 100644 --- a/winsup/cygwin/tty.cc +++ b/winsup/cygwin/tty.cc @@ -309,7 +309,8 @@ tty_min::setpgid (int pid) fhandler_pty_slave *ptys = NULL; cygheap_fdenum cfd (false); while (cfd.next () >= 0 && ptys == NULL) - if (cfd->get_device () == getntty ()) + if (cfd->get_device () == getntty () + && cfd->get_major () == DEV_PTYS_MAJOR) ptys = (fhandler_pty_slave *) (fhandler_base *) cfd; if (ptys)
