From: Volker Lendecke Date: Tue, 21 Jul 2026 10:27:42 +0000 (+0200) Subject: lib: Add central error: exit to asn1_write() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b415fbe950f246c8a505febafc85f72ce69240f5;p=thirdparty%2Fsamba.git lib: Add central error: exit to asn1_write() Signed-off-by: Volker Lendecke Reviewed-by: Anoop C S --- diff --git a/lib/util/asn1.c b/lib/util/asn1.c index 15d4a6ae0bc..fa90442f0b9 100644 --- a/lib/util/asn1.c +++ b/lib/util/asn1.c @@ -85,16 +85,14 @@ bool asn1_write(struct asn1_data *data, const void *p, int len) if (data->has_error) return false; if ((len < 0) || (data->ofs + (size_t)len < data->ofs)) { - data->has_error = true; - return false; + goto error; } if (data->length < data->ofs+len) { uint8_t *newp; newp = talloc_realloc(data, data->data, uint8_t, data->ofs+len); if (!newp) { - data->has_error = true; - return false; + goto error; } data->data = newp; data->length = data->ofs+len; @@ -104,6 +102,9 @@ bool asn1_write(struct asn1_data *data, const void *p, int len) data->ofs += len; } return true; +error: + data->has_error = true; + return false; } /* useful fn for writing a uint8_t */