From: Karel Zak Date: Thu, 17 Feb 2011 10:16:43 +0000 (+0100) Subject: login: does not ignore setgid() return code for non-roots X-Git-Tag: v2.20-rc1~552 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=81e9987bf0f79c430154b3ef31f79ed7b6a5ba2e;p=thirdparty%2Futil-linux.git login: does not ignore setgid() return code for non-roots Reported-by: Steve Grubb Signed-off-by: Karel Zak --- diff --git a/login-utils/login.c b/login-utils/login.c index 5486ad9189..40f23ad3a0 100644 --- a/login-utils/login.c +++ b/login-utils/login.c @@ -1037,7 +1037,11 @@ Michael Riepe } #endif - setgid(pwd->pw_gid); + if (setgid(pwd->pw_gid) < 0 && pwd->pw_gid) { + syslog(LOG_ALERT, _("setgid() failed")); + exit(EXIT_FAILURE); + } + if (*pwd->pw_shell == '\0') pwd->pw_shell = _PATH_BSHELL;