]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:auth: Explicitly initialize claims structures
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Thu, 5 Oct 2023 00:43:54 +0000 (13:43 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 12 Oct 2023 23:13:32 +0000 (23:13 +0000)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/auth/session.c

index 8f98f75c65267826c6f6b8f2a486457c2b144fea..46b833713ba9a1bfc30b7c82668016969d087ea7 100644 (file)
@@ -492,30 +492,36 @@ NTSTATUS encode_claims_set(TALLOC_CTX *mem_ctx,
                return NT_STATUS_NO_MEMORY;
        }
 
-       metadata_ndr = talloc_zero(tmp_ctx, struct CLAIMS_SET_METADATA_NDR);
+       metadata_ndr = talloc(tmp_ctx, struct CLAIMS_SET_METADATA_NDR);
        if (metadata_ndr == NULL) {
                talloc_free(tmp_ctx);
                return NT_STATUS_NO_MEMORY;
        }
 
-       metadata = talloc_zero(metadata_ndr, struct CLAIMS_SET_METADATA);
+       metadata = talloc(metadata_ndr, struct CLAIMS_SET_METADATA);
        if (metadata == NULL) {
                talloc_free(tmp_ctx);
                return NT_STATUS_NO_MEMORY;
        }
 
-       claims_set_info = talloc_zero(metadata, struct CLAIMS_SET_NDR);
+       claims_set_info = talloc(metadata, struct CLAIMS_SET_NDR);
        if (claims_set_info == NULL) {
                talloc_free(tmp_ctx);
                return NT_STATUS_NO_MEMORY;
        }
 
-       metadata_ndr->claims.metadata = metadata;
+       *metadata_ndr = (struct CLAIMS_SET_METADATA_NDR) {
+               .claims.metadata = metadata,
+       };
 
-       metadata->claims_set = claims_set_info;
-       metadata->compression_format = CLAIMS_COMPRESSION_FORMAT_XPRESS_HUFF;
+       *metadata = (struct CLAIMS_SET_METADATA) {
+               .claims_set = claims_set_info,
+               .compression_format = CLAIMS_COMPRESSION_FORMAT_XPRESS_HUFF,
+       };
 
-       claims_set_info->claims.claims = claims_set;
+       *claims_set_info = (struct CLAIMS_SET_NDR) {
+               .claims.claims = claims_set,
+       };
 
        ndr_err = ndr_push_struct_blob(claims_blob, mem_ctx, metadata_ndr,
                                       (ndr_push_flags_fn_t)ndr_push_CLAIMS_SET_METADATA_NDR);