summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/x509/x509_vpm.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/lib/libcrypto/x509/x509_vpm.c b/src/lib/libcrypto/x509/x509_vpm.c
index ac79b83003..893db53eae 100644
--- a/src/lib/libcrypto/x509/x509_vpm.c
+++ b/src/lib/libcrypto/x509/x509_vpm.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vpm.c,v 1.51 2025/03/19 16:31:47 tb Exp $ */ 1/* $OpenBSD: x509_vpm.c,v 1.52 2025/03/19 16:33:24 tb 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 2004. 3 * project 2004.
4 */ 4 */
@@ -654,6 +654,8 @@ static const X509_VERIFY_PARAM default_table[] = {
654 } 654 }
655}; 655};
656 656
657#define N_DEFAULT_VERIFY_PARAMS (sizeof(default_table) / sizeof(default_table[0]))
658
657static STACK_OF(X509_VERIFY_PARAM) *param_table = NULL; 659static STACK_OF(X509_VERIFY_PARAM) *param_table = NULL;
658 660
659static int 661static int
@@ -687,9 +689,11 @@ LCRYPTO_ALIAS(X509_VERIFY_PARAM_add0_table);
687int 689int
688X509_VERIFY_PARAM_get_count(void) 690X509_VERIFY_PARAM_get_count(void)
689{ 691{
690 int num = sizeof(default_table) / sizeof(X509_VERIFY_PARAM); 692 int num = N_DEFAULT_VERIFY_PARAMS;
693
691 if (param_table != NULL) 694 if (param_table != NULL)
692 num += sk_X509_VERIFY_PARAM_num(param_table); 695 num += sk_X509_VERIFY_PARAM_num(param_table);
696
693 return num; 697 return num;
694} 698}
695LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_count); 699LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_count);
@@ -697,7 +701,7 @@ LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_count);
697const X509_VERIFY_PARAM * 701const X509_VERIFY_PARAM *
698X509_VERIFY_PARAM_get0(int id) 702X509_VERIFY_PARAM_get0(int id)
699{ 703{
700 int num = sizeof(default_table) / sizeof(X509_VERIFY_PARAM); 704 int num = N_DEFAULT_VERIFY_PARAMS;
701 705
702 if (id < 0) 706 if (id < 0)
703 return NULL; 707 return NULL;
@@ -713,7 +717,7 @@ const X509_VERIFY_PARAM *
713X509_VERIFY_PARAM_lookup(const char *name) 717X509_VERIFY_PARAM_lookup(const char *name)
714{ 718{
715 X509_VERIFY_PARAM pm; 719 X509_VERIFY_PARAM pm;
716 unsigned int i, limit; 720 size_t i;
717 721
718 pm.name = (char *)name; 722 pm.name = (char *)name;
719 if (param_table) { 723 if (param_table) {
@@ -722,8 +726,7 @@ X509_VERIFY_PARAM_lookup(const char *name)
722 return sk_X509_VERIFY_PARAM_value(param_table, idx); 726 return sk_X509_VERIFY_PARAM_value(param_table, idx);
723 } 727 }
724 728
725 limit = sizeof(default_table) / sizeof(X509_VERIFY_PARAM); 729 for (i = 0; i < N_DEFAULT_VERIFY_PARAMS; i++) {
726 for (i = 0; i < limit; i++) {
727 if (strcmp(default_table[i].name, name) == 0) 730 if (strcmp(default_table[i].name, name) == 0)
728 return &default_table[i]; 731 return &default_table[i];
729 } 732 }