]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:auth: let authsam_make_user_info_dc() use helper variables for the groupsid
authorStefan Metzmacher <metze@samba.org>
Tue, 11 Feb 2025 20:16:02 +0000 (21:16 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 14 Feb 2025 14:21:33 +0000 (14:21 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
source4/auth/sam.c

index f21827118cf4f811cab99ad07adcf37deeccb443..bf4cde4f886aae3f29dcb5fe3722f88631e6847d 100644 (file)
@@ -383,6 +383,8 @@ _PUBLIC_ NTSTATUS authsam_make_user_info_dc(TALLOC_CTX *mem_ctx,
        uint32_t num_sids = 0;
        unsigned int i;
        struct dom_sid *domain_sid;
+       uint32_t group_rid;
+       struct dom_sid groupsid = {};
        TALLOC_CTX *tmp_ctx;
        struct ldb_message_element *el;
        static const char * const group_type_attrs[] = { "groupType", NULL };
@@ -425,10 +427,14 @@ _PUBLIC_ NTSTATUS authsam_make_user_info_dc(TALLOC_CTX *mem_ctx,
                return status;
        }
 
+       group_rid = ldb_msg_find_attr_as_uint(msg, "primaryGroupID", ~0);
+       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_GROUP_SID_INDEX].sid = *domain_sid;
-       sid_append_rid(&sids[PRIMARY_GROUP_SID_INDEX].sid, ldb_msg_find_attr_as_uint(msg, "primaryGroupID", ~0));
+
+       sids[PRIMARY_GROUP_SID_INDEX].sid = groupsid;
        sids[PRIMARY_GROUP_SID_INDEX].attrs = SE_GROUP_DEFAULT_FLAGS;
 
        /*