summaryrefslogtreecommitdiff
path: root/src/newgrp.c
diff options
context:
space:
mode:
authorBalint Reczey <balint@balintreczey.hu>2016-11-30 02:36:06 +0100
committerBalint Reczey <balint@balintreczey.hu>2016-11-30 02:36:06 +0100
commit365658d0f3a51814626afbb70aa2dd7b5e82ac36 (patch)
tree7218fb9147359258fda0f9a43da5a29b2d20e85b /src/newgrp.c
parentbfaa59229d61adb7fa0c570f0d94fd324c6e05aa (diff)
downloadshadow-365658d0f3a51814626afbb70aa2dd7b5e82ac36.tar.gz
Imported Upstream version 4.4upstream/4.4
Diffstat (limited to 'src/newgrp.c')
-rw-r--r--src/newgrp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/newgrp.c b/src/newgrp.c
index 49dd1512..b8d3ddc8 100644
--- a/src/newgrp.c
+++ b/src/newgrp.c
@@ -255,12 +255,15 @@ static void syslog_sg (const char *name, const char *group)
{
const char *loginname = getlogin ();
const char *tty = ttyname (0);
+ char *free_login = NULL, *free_tty = NULL;
if (loginname != NULL) {
- loginname = xstrdup (loginname);
+ free_login = xstrdup (loginname);
+ loginname = free_login;
}
if (tty != NULL) {
- tty = xstrdup (tty);
+ free_tty = xstrdup (tty);
+ tty = free_tty;
}
if (loginname == NULL) {
@@ -372,6 +375,8 @@ static void syslog_sg (const char *name, const char *group)
(void) signal (SIGTTOU, SIG_DFL);
}
#endif /* USE_PAM */
+ free(free_login);
+ free(free_tty);
}
#endif /* USE_SYSLOG */