summaryrefslogtreecommitdiff
path: root/source3/smbd/sec_ctx.c
diff options
context:
space:
mode:
authorJames Peach <jpeach@samba.org>2007-09-14 04:17:17 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:30:45 -0500
commit45a2713b475e66a880b4c6f019dc22119444dc7b (patch)
treea58c549a289f9c331e213bbe47ebbaa3e2cea839 /source3/smbd/sec_ctx.c
parentdd16ae2506abe46093118e2a33d9d0cae6455d07 (diff)
downloadsamba-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)
Diffstat (limited to 'source3/smbd/sec_ctx.c')
-rw-r--r--source3/smbd/sec_ctx.c5
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);