From 33938b6785a047b3e4b5e28346394e95f8175cef Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sat, 9 Apr 2016 17:01:23 +0100 Subject: [PATCH] init: allow initgroups to fail --- Applications/util/init.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Applications/util/init.c b/Applications/util/init.c index c5631c7b..5dd0d68b 100644 --- a/Applications/util/init.c +++ b/Applications/util/init.c @@ -743,8 +743,10 @@ static void spawn_login(struct passwd *pwd, const char *tty, const char *id) /* Don't leak utmp into the child */ endutent(); - if (initgroups(pwd->pw_name, pwd->pw_gid) == -1 && errno != ENOSYS) - exit(255); + /* We don't care if initgroups fails - it only grants extra rights */ + initgroups(pwd->pw_name, pwd->pw_gid); + + /* But we do care if these fail! */ if (setgid(pwd->pw_gid) == -1 || setuid(pwd->pw_uid) == -1) _exit(255); -- 2.34.1