about summary refs log tree commit diff
path: root/login
diff options
context:
space:
mode:
authorArjun Shankar <arjun.is@lostca.se>2017-05-29 16:12:31 +0200
committerArjun Shankar <arjun.is@lostca.se>2017-06-07 17:37:59 +0200
commit8f0a947cf55f3b0c4ebdf06953c57eff67a22fa9 (patch)
treeac419833fa9448098b94cf678db893520c6f5837 /login
parentfdc543919a3d8578631a492e1227c2cd8f5ecec7 (diff)
downloadglibc-8f0a947cf55f3b0c4ebdf06953c57eff67a22fa9.tar.gz
glibc-8f0a947cf55f3b0c4ebdf06953c57eff67a22fa9.tar.xz
glibc-8f0a947cf55f3b0c4ebdf06953c57eff67a22fa9.zip
Remove check for NULL buffer passed to `ptsname_r'
`ptsname_r' is declared in stdlib.h to only accept a `nonnull'
second argument and therefore GCC may choose to make optimizations
based on the assumption that this argument is NULL. This means
that potentially, GCC can optimize away the NULL check at some
point in the future. Since this is a programming interface, we
might as well remove the NULL check ourselves.

This also warrants a change to the `ptsname_r' manual page that
must be submitted to the corresponding mailing list.

In addition, remove the NULL buffer test in login/tst-ptsname.c.
Diffstat (limited to 'login')
-rw-r--r--login/tst-ptsname.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/login/tst-ptsname.c b/login/tst-ptsname.c
index be8744dfd0..96f0449788 100644
--- a/login/tst-ptsname.c
+++ b/login/tst-ptsname.c
@@ -70,7 +70,6 @@ do_test (void)
   if (fd != -1)
     {
       result |= do_single_test (fd, buf, sizeof (buf), 0);
-      result |= do_single_test (fd, NULL, sizeof (buf), EINVAL);
       result |= do_single_test (fd, buf, 1, ERANGE);
       close (fd);
     }