summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/getlogin.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/getlogin.c')
-rw-r--r--sysdeps/unix/sysv/linux/getlogin.c5
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 ();
}