From: Volker Lendecke Date: Wed, 1 Jul 2026 10:57:43 +0000 (+0200) Subject: lib: Avoid ZERO_STRUCTP with struct assignments X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b75ecc3a8b8d6f50f0a4d5e5d8edfe1c245ae1e;p=thirdparty%2Fsamba.git lib: Avoid ZERO_STRUCTP with struct assignments Signed-off-by: Volker Lendecke Reviewed-by: Anoop C S --- diff --git a/lib/util/asn1.c b/lib/util/asn1.c index 4e2999ec60a..51fae4e3239 100644 --- a/lib/util/asn1.c +++ b/lib/util/asn1.c @@ -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)