From: Samuel Thibault Date: Fri, 13 Nov 2020 23:51:49 +0000 (+0000) Subject: hurd: make ptsname fail with ENOTTY on non-master-pty X-Git-Tag: glibc-2.33~295 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b4fcf0475b579d682b2be62fbfed0a286ac64bf3;p=thirdparty%2Fglibc.git hurd: make ptsname fail with ENOTTY on non-master-pty --- diff --git a/sysdeps/mach/hurd/ptsname.c b/sysdeps/mach/hurd/ptsname.c index 065ba2a2683..2bcbe7b03ff 100644 --- a/sysdeps/mach/hurd/ptsname.c +++ b/sysdeps/mach/hurd/ptsname.c @@ -46,6 +46,14 @@ __ptsname_internal (int fd, char *buf, size_t buflen, struct stat64 *stp) string_t peername; size_t len; error_t err; + int ttype; + + if (HURD_DPORT_USE (fd, __term_get_bottom_type (port, &ttype)) == 0) + { + /* get_bottom_type suceeded, this is the slave side. */ + errno = ENOTTY; + return ENOTTY; + } if (err = HURD_DPORT_USE (fd, __term_get_peername (port, peername))) {