From: Stefan Metzmacher Date: Wed, 29 Jan 2025 10:34:42 +0000 (+0100) Subject: s4:auth: simplify authsam_make_user_info_dc() X-Git-Tag: tevent-0.17.0~771 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=551e236255d1b758e84dd2c588e5e2ab29c938c5;p=thirdparty%2Fsamba.git s4:auth: simplify authsam_make_user_info_dc() By using (struct auth_SidAttr) {} we don't leave uninitialized memory if struct auth_SidAttr changes. Signed-off-by: Stefan Metzmacher Reviewed-by: Jennifer Sutton --- diff --git a/source4/auth/sam.c b/source4/auth/sam.c index cd4f6ef7159..32475de8780 100644 --- a/source4/auth/sam.c +++ b/source4/auth/sam.c @@ -431,11 +431,15 @@ _PUBLIC_ NTSTATUS authsam_make_user_info_dc(TALLOC_CTX *mem_ctx, groupsid = *domain_sid; sid_append_rid(&groupsid, group_rid); - sids[PRIMARY_USER_SID_INDEX].sid = *account_sid; - sids[PRIMARY_USER_SID_INDEX].attrs = SE_GROUP_DEFAULT_FLAGS; + sids[PRIMARY_USER_SID_INDEX] = (struct auth_SidAttr) { + .sid = *account_sid, + .attrs = SE_GROUP_DEFAULT_FLAGS, + }; - sids[PRIMARY_GROUP_SID_INDEX].sid = groupsid; - sids[PRIMARY_GROUP_SID_INDEX].attrs = SE_GROUP_DEFAULT_FLAGS; + sids[PRIMARY_GROUP_SID_INDEX] = (struct auth_SidAttr) { + .sid = groupsid, + .attrs = SE_GROUP_DEFAULT_FLAGS, + }; /* * Filter out builtin groups from this token. We will search @@ -666,8 +670,11 @@ _PUBLIC_ NTSTATUS authsam_make_user_info_dc(TALLOC_CTX *mem_ctx, TALLOC_FREE(user_info_dc); return NT_STATUS_NO_MEMORY; } - user_info_dc->sids[user_info_dc->num_sids].sid = global_sid_Enterprise_DCs; - user_info_dc->sids[user_info_dc->num_sids].attrs = SE_GROUP_DEFAULT_FLAGS; + + user_info_dc->sids[user_info_dc->num_sids] = (struct auth_SidAttr) { + .sid = global_sid_Enterprise_DCs, + .attrs = SE_GROUP_DEFAULT_FLAGS, + }; user_info_dc->num_sids++; } @@ -688,8 +695,10 @@ _PUBLIC_ NTSTATUS authsam_make_user_info_dc(TALLOC_CTX *mem_ctx, rodcsid = *domain_sid; sid_append_rid(&rodcsid, DOMAIN_RID_ENTERPRISE_READONLY_DCS); - user_info_dc->sids[user_info_dc->num_sids].sid = rodcsid; - user_info_dc->sids[user_info_dc->num_sids].attrs = SE_GROUP_DEFAULT_FLAGS; + user_info_dc->sids[user_info_dc->num_sids] = (struct auth_SidAttr) { + .sid = rodcsid, + .attrs = SE_GROUP_DEFAULT_FLAGS, + }; user_info_dc->num_sids++; }