summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509/x509_constraints.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509/x509_constraints.c')
-rw-r--r--src/lib/libcrypto/x509/x509_constraints.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/lib/libcrypto/x509/x509_constraints.c b/src/lib/libcrypto/x509/x509_constraints.c
index db33bf1aa4..f5e1050bb1 100644
--- a/src/lib/libcrypto/x509/x509_constraints.c
+++ b/src/lib/libcrypto/x509/x509_constraints.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_constraints.c,v 1.17 2021/09/23 15:49:48 jsing Exp $ */ 1/* $OpenBSD: x509_constraints.c,v 1.18 2021/10/26 09:09:53 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2020 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2020 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -424,9 +424,14 @@ x509_constraints_parse_mailbox(uint8_t *candidate, size_t len,
424 strlen(candidate_domain))) 424 strlen(candidate_domain)))
425 goto bad; 425 goto bad;
426 426
427 name->local = candidate_local; 427 if (name != NULL) {
428 name->name = candidate_domain; 428 name->local = candidate_local;
429 name->type = GEN_EMAIL; 429 name->name = candidate_domain;
430 name->type = GEN_EMAIL;
431 } else {
432 free(candidate_local);
433 free(candidate_domain);
434 }
430 return 1; 435 return 1;
431 bad: 436 bad:
432 free(candidate_local); 437 free(candidate_local);
@@ -511,7 +516,8 @@ x509_constraints_uri_host(uint8_t *uri, size_t len, char **hostpart)
511 host = authority; 516 host = authority;
512 if (!x509_constraints_valid_host(host, hostlen)) 517 if (!x509_constraints_valid_host(host, hostlen))
513 return 0; 518 return 0;
514 *hostpart = strndup(host, hostlen); 519 if (hostpart != NULL)
520 *hostpart = strndup(host, hostlen);
515 return 1; 521 return 1;
516} 522}
517 523