From: Takashi Yano Date: Sat, 12 Feb 2022 20:12:18 +0000 (+0900) Subject: Cygwin: pty: Fix a bug in tty_min::segpgid(). X-Git-Tag: cygwin-3.4.0~584 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=bed1add783a13b3304b1625b962707f89e90e323;p=newlib-cygwin.git 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 --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)