diff options
author | Ulrich Drepper <drepper@redhat.com> | 2010-06-19 09:54:28 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-06-19 09:54:28 -0700 |
commit | 63c4ed22b5048c8701d8806026c23cc95f0df756 (patch) | |
tree | 65f3c6559d0329a649d4c2474e3216d4bb89d22d /sysdeps/unix/sysv/linux/getlogin.c | |
parent | 765ade4b29d9fcc4b236b4f3ae5bfd1174978442 (diff) | |
download | glibc-63c4ed22b5048c8701d8806026c23cc95f0df756.tar.gz |
Fix error handling in Linux getlogin*.
Diffstat (limited to 'sysdeps/unix/sysv/linux/getlogin.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/getlogin.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/getlogin.c b/sysdeps/unix/sysv/linux/getlogin.c index 4d15db093d..58e37c4ab4 100644 --- a/sysdeps/unix/sysv/linux/getlogin.c +++ b/sysdeps/unix/sysv/linux/getlogin.c @@ -32,8 +32,9 @@ char * getlogin (void) { - if (__getlogin_r_loginuid (name, sizeof (name)) == 0) - return name; + int res = __getlogin_r_loginuid (name, sizeof (name)); + if (res >= 0) + return res == 0 ? name : NULL; return getlogin_fd0 (); } |