summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509/x509_lu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509/x509_lu.c')
-rw-r--r--src/lib/libcrypto/x509/x509_lu.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/src/lib/libcrypto/x509/x509_lu.c b/src/lib/libcrypto/x509/x509_lu.c
index 9400aec320..90d75497dd 100644
--- a/src/lib/libcrypto/x509/x509_lu.c
+++ b/src/lib/libcrypto/x509/x509_lu.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_lu.c,v 1.54 2022/01/05 20:18:19 tb Exp $ */ 1/* $OpenBSD: x509_lu.c,v 1.55 2022/01/14 07:53:45 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -230,7 +230,15 @@ X509_OBJECT_free(X509_OBJECT *a)
230 if (a == NULL) 230 if (a == NULL)
231 return; 231 return;
232 232
233 X509_OBJECT_free_contents(a); 233 switch (a->type) {
234 case X509_LU_X509:
235 X509_free(a->data.x509);
236 break;
237 case X509_LU_CRL:
238 X509_CRL_free(a->data.crl);
239 break;
240 }
241
234 free(a); 242 free(a);
235} 243}
236 244
@@ -440,21 +448,6 @@ X509_OBJECT_get_type(const X509_OBJECT *a)
440 return a->type; 448 return a->type;
441} 449}
442 450
443void
444X509_OBJECT_free_contents(X509_OBJECT *a)
445{
446 switch (a->type) {
447 case X509_LU_X509:
448 X509_free(a->data.x509);
449 break;
450 case X509_LU_CRL:
451 X509_CRL_free(a->data.crl);
452 break;
453 }
454 memset(a, 0, sizeof(*a));
455 a->type = X509_LU_NONE;
456}
457
458static int 451static int
459x509_object_idx_cnt(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, 452x509_object_idx_cnt(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type,
460 X509_NAME *name, int *pnmatch) 453 X509_NAME *name, int *pnmatch)