summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto
diff options
context:
space:
mode:
authortb <>2022-01-14 07:53:45 +0000
committertb <>2022-01-14 07:53:45 +0000
commit1de65a93b7b46da905d3b1ec6166552f4cf92865 (patch)
tree898a999a2a6c0dc09f77420084a8b2b414ca1c4f /src/lib/libcrypto
parent6fbaba0fb67095b401082d5d82ece110d28aefbb (diff)
downloadopenbsd-1de65a93b7b46da905d3b1ec6166552f4cf92865.tar.gz
openbsd-1de65a93b7b46da905d3b1ec6166552f4cf92865.tar.bz2
openbsd-1de65a93b7b46da905d3b1ec6166552f4cf92865.zip
Remove X509_OBJECT_free_contents
Inline X509_OBJECT_free_contents() in X509_OBJECT_free() and remove this dangerous API. It was left over when x509_vfy.h was made opaque. ok inoguchi jsing
Diffstat (limited to 'src/lib/libcrypto')
-rw-r--r--src/lib/libcrypto/x509/x509_lu.c27
-rw-r--r--src/lib/libcrypto/x509/x509_vfy.h3
2 files changed, 11 insertions, 19 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)
diff --git a/src/lib/libcrypto/x509/x509_vfy.h b/src/lib/libcrypto/x509/x509_vfy.h
index c50624a603..9a649cbbad 100644
--- a/src/lib/libcrypto/x509/x509_vfy.h
+++ b/src/lib/libcrypto/x509/x509_vfy.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vfy.h,v 1.49 2022/01/14 07:49:49 tb Exp $ */ 1/* $OpenBSD: x509_vfy.h,v 1.50 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 *
@@ -274,7 +274,6 @@ X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h,
274X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x); 274X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x);
275int X509_OBJECT_up_ref_count(X509_OBJECT *a); 275int X509_OBJECT_up_ref_count(X509_OBJECT *a);
276X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a); 276X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a);
277void X509_OBJECT_free_contents(X509_OBJECT *a);
278X509 *X509_OBJECT_get0_X509(const X509_OBJECT *xo); 277X509 *X509_OBJECT_get0_X509(const X509_OBJECT *xo);
279X509_CRL *X509_OBJECT_get0_X509_CRL(X509_OBJECT *xo); 278X509_CRL *X509_OBJECT_get0_X509_CRL(X509_OBJECT *xo);
280 279