]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:auth: simplify authsam_make_user_info_dc()
authorStefan Metzmacher <metze@samba.org>
Wed, 29 Jan 2025 10:34:42 +0000 (11:34 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 14 Feb 2025 14:21:33 +0000 (14:21 +0000)
By using (struct auth_SidAttr) {} we don't leave
uninitialized memory if struct auth_SidAttr changes.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
source4/auth/sam.c

index cd4f6ef715998c6449b56fb3a36b9aedabd3d7c7..32475de87809f323da3fa3e7e930b291ada2f445 100644 (file)
@@ -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++;
        }