summaryrefslogtreecommitdiffstats
path: root/source/a/shadow/shadow.newgrp.getlogin
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/shadow/shadow.newgrp.getlogin')
-rw-r--r--source/a/shadow/shadow.newgrp.getlogin21
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 000000000..5d032f15c
--- /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)