26 lines
913 B
Diff
26 lines
913 B
Diff
commit 0d83b349fa7340475406b2fe933c7467e4584091
|
|
Author: Andreas Schwab <schwab@suse.de>
|
|
Date: Wed Mar 15 11:44:24 2023 +0100
|
|
|
|
getlogin_r: fix missing fallback if loginuid is unset (bug 30235)
|
|
|
|
When /proc/self/loginuid is not set, we should still fall back to using
|
|
the traditional utmp lookup, instead of failing right away.
|
|
|
|
diff --git a/sysdeps/unix/sysv/linux/getlogin_r.c b/sysdeps/unix/sysv/linux/getlogin_r.c
|
|
index dc0ca388b20d42c3..ff60fbbc726d7e7a 100644
|
|
--- a/sysdeps/unix/sysv/linux/getlogin_r.c
|
|
+++ b/sysdeps/unix/sysv/linux/getlogin_r.c
|
|
@@ -59,10 +59,7 @@ __getlogin_r_loginuid (char *name, size_t namesize)
|
|
value of, (uid_t) -1, so check if that value is set and return early to
|
|
avoid making unneeded nss lookups. */
|
|
if (uid == (uid_t) -1)
|
|
- {
|
|
- __set_errno (ENXIO);
|
|
- return ENXIO;
|
|
- }
|
|
+ return -1;
|
|
|
|
struct passwd pwd;
|
|
struct passwd *tpwd;
|