]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: Avoid ZERO_STRUCTP with struct assignments
authorVolker Lendecke <vl@samba.org>
Wed, 1 Jul 2026 10:57:43 +0000 (12:57 +0200)
committerAnoop C S <anoopcs@samba.org>
Fri, 3 Jul 2026 04:47:29 +0000 (04:47 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
lib/util/asn1.c

index 4e2999ec60ac132118a38a80569c09002642b190..51fae4e3239df4075acea18a44ae25d30131cc62 100644 (file)
@@ -493,14 +493,17 @@ bool asn1_load(struct asn1_data *data, DATA_BLOB blob)
         */
        unsigned max_depth = data->max_depth;
 
-       ZERO_STRUCTP(data);
-       data->data = (uint8_t *)talloc_memdup(data, blob.data, blob.length);
-       if (!data->data) {
+       *data = (struct asn1_data){
+               .data = talloc_memdup(data, blob.data, blob.length),
+               .length = blob.length,
+               .max_depth = max_depth,
+       };
+
+       if (data->data == NULL) {
                data->has_error = true;
                return false;
        }
-       data->length = blob.length;
-       data->max_depth = max_depth;
+
        return true;
 }
 
@@ -1141,10 +1144,12 @@ void asn1_load_nocopy(struct asn1_data *data, uint8_t *buf, size_t len)
         * Save max_depth
         */
        unsigned max_depth = data->max_depth;
-       ZERO_STRUCTP(data);
-       data->data = buf;
-       data->length = len;
-       data->max_depth = max_depth;
+
+       *data = (struct asn1_data) {
+               .data = buf,
+               .length = len,
+               .max_depth = max_depth,
+       };
 }
 
 int asn1_peek_full_tag(DATA_BLOB blob, uint8_t tag, size_t *packet_size)