diff --git a/src/newgrp.c b/src/newgrp.c index 1b19b90a..e4ea4115 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -347,7 +347,8 @@ static void syslog_sg (const char *name, const char *group) (unsigned long) gid, name)); } closelog (); - exit (E_SUCCESS); + exit ((0 != WIFEXITED (cst)) ? WEXITSTATUS (cst) + : WTERMSIG (cst) + 128); } /* child - restore signals to their default state */