From: atishkov Date: Fri, 28 Jul 2023 10:12:38 +0000 (+0300) Subject: asn1: add ASN1_STRING_set() check result X-Git-Tag: openssl-3.2.0-alpha1~292 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c791e399abba8394833a2f88abaeb69f27f33b42;p=thirdparty%2Fopenssl.git asn1: add ASN1_STRING_set() check result Reviewed-by: Kurt Roeckx Reviewed-by: Matt Caswell Reviewed-by: Paul Dale Reviewed-by: Todd Short (Merged from https://github.com/openssl/openssl/pull/21587) --- diff --git a/crypto/asn1/asn1_gen.c b/crypto/asn1/asn1_gen.c index a7ec79faa9e..1ed9d2afcff 100644 --- a/crypto/asn1/asn1_gen.c +++ b/crypto/asn1/asn1_gen.c @@ -698,9 +698,12 @@ static ASN1_TYPE *asn1_str2type(const char *str, int format, int utype) atmp->value.asn1_string->data = rdata; atmp->value.asn1_string->length = rdlen; atmp->value.asn1_string->type = utype; - } else if (format == ASN1_GEN_FORMAT_ASCII) - ASN1_STRING_set(atmp->value.asn1_string, str, -1); - else if ((format == ASN1_GEN_FORMAT_BITLIST) + } else if (format == ASN1_GEN_FORMAT_ASCII) { + if (!ASN1_STRING_set(atmp->value.asn1_string, str, -1)) { + ERR_raise(ERR_LIB_ASN1, ERR_R_ASN1_LIB); + goto bad_str; + } + } else if ((format == ASN1_GEN_FORMAT_BITLIST) && (utype == V_ASN1_BIT_STRING)) { if (!CONF_parse_list (str, ',', 1, bitstr_cb, atmp->value.bit_string)) {