diff options
Diffstat (limited to 'src/lib/libcrypto/x509/x509_lu.c')
-rw-r--r-- | src/lib/libcrypto/x509/x509_lu.c | 27 |
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 | ||
443 | void | ||
444 | X509_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 | |||
458 | static int | 451 | static int |
459 | x509_object_idx_cnt(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, | 452 | x509_object_idx_cnt(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, |
460 | X509_NAME *name, int *pnmatch) | 453 | X509_NAME *name, int *pnmatch) |