summaryrefslogtreecommitdiff
path: root/loginutils/adduser.c
diff options
context:
space:
mode:
authorDenys Vlasenko2019-01-12 11:51:58 +0100
committerDenys Vlasenko2019-01-12 11:51:58 +0100
commitb67d900395a847e29f2afa81198f783004c80fc5 (patch)
tree49dbcb6ad199eaa5f61816fd11fca59627581acf /loginutils/adduser.c
parent3109d1f9659ffad76f3cf2c547cc425ed34ae96c (diff)
downloadbusybox-b67d900395a847e29f2afa81198f783004c80fc5.zip
busybox-b67d900395a847e29f2afa81198f783004c80fc5.tar.gz
adduser: fix a bug of getpwnam() overwriting shell name, closes 8586
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'loginutils/adduser.c')
-rw-r--r--loginutils/adduser.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/loginutils/adduser.c b/loginutils/adduser.c
index b2b5be5..850c810 100644
--- a/loginutils/adduser.c
+++ b/loginutils/adduser.c
@@ -198,7 +198,7 @@ int adduser_main(int argc UNUSED_PARAM, char **argv)
pw.pw_gecos = (char *)"Linux User,,,";
/* We assume that newly created users "inherit" root's shell setting */
- pw.pw_shell = (char *)get_shell_name();
+ pw.pw_shell = xstrdup(get_shell_name()); /* might come from getpwnam(), need to make a copy */
pw.pw_dir = NULL;
opts = getopt32long(argv, "^"