From: Rob Landley Date: Sun, 16 Jul 2006 18:58:18 +0000 (-0000) Subject: Bugfix from Tito to make sure /etc/group gets updated. X-Git-Tag: 1_2_0~6 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=62103757efc2b22355a96bfd1298e1dbcb217f7f;p=oweals%2Fbusybox.git Bugfix from Tito to make sure /etc/group gets updated. --- diff --git a/loginutils/adduser.c b/loginutils/adduser.c index a0d4872ec..a640ece3b 100644 --- a/loginutils/adduser.c +++ b/loginutils/adduser.c @@ -96,6 +96,7 @@ static void passwd_wrapper(const char *login) static int adduser(struct passwd *p, unsigned long flags) { FILE *file; + int addgroup = !p->pw_gid; /* make sure everything is kosher and setup uid && gid */ file = bb_xfopen(bb_path_passwd_file, "a"); @@ -132,9 +133,8 @@ static int adduser(struct passwd *p, unsigned long flags) /* add to group */ /* addgroup should be responsible for dealing w/ gshadow */ /* if using a pre-existing group, don't create one */ - if (p->pw_gid == 0) { - addgroup_wrapper(p); - } + if (addgroup) addgroup_wrapper(p); + /* Clear the umask for this process so it doesn't * * screw up the permissions on the mkdir and chown. */ umask(0);