]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: make ptsname fail with ENOTTY on non-master-pty
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Fri, 13 Nov 2020 23:51:49 +0000 (23:51 +0000)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Fri, 13 Nov 2020 23:54:08 +0000 (00:54 +0100)
sysdeps/mach/hurd/ptsname.c

index 065ba2a26831ce798910cff81d0fd3ef414f6386..2bcbe7b03ff3a56f5e054d4fbf74272a32331843 100644 (file)
@@ -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)))
     {