diff options
Diffstat (limited to 'source/a/shadow/shadow.newgrp.getlogin')
-rw-r--r-- | source/a/shadow/shadow.newgrp.getlogin | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/a/shadow/shadow.newgrp.getlogin b/source/a/shadow/shadow.newgrp.getlogin new file mode 100644 index 00000000..5d032f15 --- /dev/null +++ b/source/a/shadow/shadow.newgrp.getlogin @@ -0,0 +1,21 @@ +--- ./src/newgrp.c.orig 2003-05-31 21:19:39.000000000 -0700 ++++ ./src/newgrp.c 2003-05-31 21:21:32.000000000 -0700 +@@ -76,6 +76,7 @@ + gid_t gid; + char *cp; + const char *cpasswd, *name, *prog; ++ char *loginname = NULL; + char *group = NULL; + char *command = NULL; + char **envp = environ; +@@ -386,7 +387,9 @@ + SYSLOG ((LOG_INFO, "user `%s' switched to group `%s'", + name, group)); + if (getdef_bool ("SYSLOG_SG_ENAB")) { +- char *loginname = xstrdup (getlogin ()); ++ char *user = getlogin (); ++ if (user != NULL) ++ loginname = xstrdup (user); + char *tty = xstrdup (ttyname (0)); + + if (loginname == NULL) |