[newlib-cygwin] Cygwin: pty: Fix a bug in tty_min::segpgid().
Takashi Yano
tyan0@sourceware.org
Sun Feb 13 15:18:54 GMT 2022
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=bed1add783a13b3304b1625b962707f89e90e323
commit bed1add783a13b3304b1625b962707f89e90e323
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
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)
More information about the Cygwin-cvs
mailing list