diff options
author | James Peach <jpeach@samba.org> | 2007-09-14 04:17:17 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:30:45 -0500 |
commit | 45a2713b475e66a880b4c6f019dc22119444dc7b (patch) | |
tree | a58c549a289f9c331e213bbe47ebbaa3e2cea839 | |
parent | dd16ae2506abe46093118e2a33d9d0cae6455d07 (diff) | |
download | samba-45a2713b475e66a880b4c6f019dc22119444dc7b.tar.gz samba-45a2713b475e66a880b4c6f019dc22119444dc7b.tar.bz2 samba-45a2713b475e66a880b4c6f019dc22119444dc7b.zip |
r25142: Panic if setting the group list fails while switching security
contexts. Patch from Tim Prouty <tim.prouty@isilon.com>.
(This used to be commit a136de663f122603e8d34e06027896ff39b35e11)
-rw-r--r-- | source3/smbd/sec_ctx.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/smbd/sec_ctx.c b/source3/smbd/sec_ctx.c index 67b15dc014..108d1794c7 100644 --- a/source3/smbd/sec_ctx.c +++ b/source3/smbd/sec_ctx.c @@ -239,7 +239,9 @@ static void set_unix_security_ctx(uid_t uid, gid_t gid, int ngroups, gid_t *grou /* Start context switch */ gain_root(); #ifdef HAVE_SETGROUPS - sys_setgroups(gid, ngroups, groups); + if (sys_setgroups(gid, ngroups, groups) != 0) { + smb_panic("sys_setgroups failed"); + } #endif become_id(uid, gid); /* end context switch */ @@ -282,6 +284,7 @@ static void set_unix_security_ctx(uid_t uid, gid_t gid, int ngroups, gid_t *grou DEBUG(0, ("WARNING: failed to set group list " "(%d groups) for UID %ld: %s\n", ngroups, uid, strerror(errno))); + smb_panic("sys_setgroups failed"); } become_uid(uid); |