num_groups = 0;
/* always add the primary group to the sid array */
- status = add_sid_to_array(mem_ctx, primary_group, user_sids,
- &num_groups);
+ status = add_sid_to_array_unique(mem_ctx,
+ primary_group,
+ user_sids,
+ &num_groups);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
continue;
}
- status = add_sid_to_array(mem_ctx, &group_sid,
- user_sids, &num_groups);
+ status = add_sid_to_array_unique(mem_ctx,
+ &group_sid,
+ user_sids,
+ &num_groups);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
num_groups = 0;
/* always add the primary group to the sid array */
- status = add_sid_to_array(mem_ctx, primary_group, user_sids,
- &num_groups);
+ status = add_sid_to_array_unique(mem_ctx,
+ primary_group,
+ user_sids,
+ &num_groups);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
continue;
}
- status = add_sid_to_array(mem_ctx, &group_sids[i], user_sids,
- &num_groups);
+ status = add_sid_to_array_unique(mem_ctx,
+ &group_sids[i],
+ user_sids,
+ &num_groups);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}
*user_sids = NULL;
num_groups = 0;
- status = add_sid_to_array(mem_ctx, &primary_group, user_sids,
- &num_groups);
+ status = add_sid_to_array_unique(mem_ctx,
+ &primary_group,
+ user_sids,
+ &num_groups);
if (!NT_STATUS_IS_OK(status)) {
goto done;
}