From a34d3862aa1f6d48f166aa483e9515b64925b831 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 26 May 2016 16:42:42 -0700 Subject: [PATCH] s3: auth: Move the declaration of struct dom_sid tmp_sid to function level scope. It's referred to outside of the {} brace scope it was defined in by the following code: uid_to_unix_users_sid(*uid, &tmp_sid); user_sid = &tmp_sid; As tmp_sid was going out of scope, user_sid was being incorrectly set in the token sid list. I think this *may* be the root cause of: BUG: https://bugzilla.samba.org/show_bug.cgi?id=10618 But even if not this is an obvious error that must be fixed. Back-port from master: 1b3b89345480d16222da00753f973e36e2e0f92d Signed-off-by: Jeremy Allison Reviewed-by: Volker Lendecke --- source3/auth/token_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source3/auth/token_util.c b/source3/auth/token_util.c index 9bb014c..f6ce131 100644 --- a/source3/auth/token_util.c +++ b/source3/auth/token_util.c @@ -673,6 +673,7 @@ static NTSTATUS create_token_from_sid(TALLOC_CTX *mem_ctx, gid_t *gids; struct dom_sid *group_sids; struct dom_sid unix_group_sid; + struct dom_sid tmp_sid; uint32_t num_group_sids; uint32_t num_gids; uint32_t i; @@ -756,7 +757,6 @@ static NTSTATUS create_token_from_sid(TALLOC_CTX *mem_ctx, *uid = sam_acct->unix_pw->pw_uid; } else if (sid_check_is_in_unix_users(user_sid)) { - struct dom_sid tmp_sid; uint32_t getgroups_num_group_sids; /* This is a unix user not in passdb. We need to ask nss * directly, without consulting passdb */ -- 2.8.0.rc3.226.g39d4020