summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509/x509_alt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509/x509_alt.c')
-rw-r--r--src/lib/libcrypto/x509/x509_alt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/libcrypto/x509/x509_alt.c b/src/lib/libcrypto/x509/x509_alt.c
index 8656df82b3..cf8cbf0ce2 100644
--- a/src/lib/libcrypto/x509/x509_alt.c
+++ b/src/lib/libcrypto/x509/x509_alt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_alt.c,v 1.12 2022/03/26 16:34:21 tb Exp $ */ 1/* $OpenBSD: x509_alt.c,v 1.13 2022/11/11 12:02:34 beck Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -619,6 +619,7 @@ v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method,
619 GENERAL_NAME *ret; 619 GENERAL_NAME *ret;
620 size_t len = 0; 620 size_t len = 0;
621 int type; 621 int type;
622 CBS cbs;
622 623
623 name = cnf->name; 624 name = cnf->name;
624 value = cnf->value; 625 value = cnf->value;
@@ -669,9 +670,10 @@ v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method,
669 } 670 }
670 671
671 type = x509_constraints_general_to_bytes(ret, &bytes, &len); 672 type = x509_constraints_general_to_bytes(ret, &bytes, &len);
673 CBS_init(&cbs, bytes, len);
672 switch (type) { 674 switch (type) {
673 case GEN_DNS: 675 case GEN_DNS:
674 if (!x509_constraints_valid_sandns(bytes, len)) { 676 if (!x509_constraints_valid_sandns(&cbs)) {
675 X509V3error(X509V3_R_BAD_OBJECT); 677 X509V3error(X509V3_R_BAD_OBJECT);
676 ERR_asprintf_error_data("name=%s value='%.*s'", name, 678 ERR_asprintf_error_data("name=%s value='%.*s'", name,
677 (int)len, bytes); 679 (int)len, bytes);
@@ -687,7 +689,7 @@ v2i_GENERAL_NAME_ex(GENERAL_NAME *out, const X509V3_EXT_METHOD *method,
687 } 689 }
688 break; 690 break;
689 case GEN_EMAIL: 691 case GEN_EMAIL:
690 if (!x509_constraints_parse_mailbox(bytes, len, NULL)) { 692 if (!x509_constraints_parse_mailbox(&cbs, NULL)) {
691 X509V3error(X509V3_R_BAD_OBJECT); 693 X509V3error(X509V3_R_BAD_OBJECT);
692 ERR_asprintf_error_data("name=%s value='%.*s'", name, 694 ERR_asprintf_error_data("name=%s value='%.*s'", name,
693 (int)len, bytes); 695 (int)len, bytes);