diff options
Diffstat (limited to 'login-utils/newgrp.c')
-rw-r--r-- | login-utils/newgrp.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/login-utils/newgrp.c b/login-utils/newgrp.c index 3f5c72028..0fae08766 100644 --- a/login-utils/newgrp.c +++ b/login-utils/newgrp.c @@ -202,9 +202,6 @@ int main(int argc, char *argv[]) if (!(pw_entry = getpwuid(getuid()))) err(EXIT_FAILURE, _("who are you?")); - shell = (pw_entry->pw_shell && *pw_entry->pw_shell ? - pw_entry->pw_shell : _PATH_BSHELL); - if (argc < 2) { if (setgid(pw_entry->pw_gid) < 0) err(EXIT_FAILURE, _("setgid failed")); @@ -225,8 +222,9 @@ int main(int argc, char *argv[]) if (setuid(getuid()) < 0) err(EXIT_FAILURE, _("setuid failed")); - fflush(stdout); - fflush(stderr); + fflush(NULL); + shell = (pw_entry->pw_shell && *pw_entry->pw_shell ? + pw_entry->pw_shell : _PATH_BSHELL); execl(shell, shell, (char *)0); warn(_("failed to execute %s"), shell); fflush(stderr); |