summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/a_object.c
diff options
context:
space:
mode:
authorjsing <>2022-04-23 18:47:08 +0000
committerjsing <>2022-04-23 18:47:08 +0000
commit7948f1a5d29de58c00a70b46e4b6b8a3fb6dede5 (patch)
tree7bb677f387d044c82aa0af29223c28c8da003993 /src/lib/libcrypto/asn1/a_object.c
parentcdf5522233386557c3275256c042b7c78a62ddcb (diff)
downloadopenbsd-7948f1a5d29de58c00a70b46e4b6b8a3fb6dede5.tar.gz
openbsd-7948f1a5d29de58c00a70b46e4b6b8a3fb6dede5.tar.bz2
openbsd-7948f1a5d29de58c00a70b46e4b6b8a3fb6dede5.zip
Convert asn1_ex_c2i() to CBS.
This allows us to make direct use of c2i_ASN1_OBJECT_cbs(). ok inoguchi@ tb@
Diffstat (limited to 'src/lib/libcrypto/asn1/a_object.c')
-rw-r--r--src/lib/libcrypto/asn1/a_object.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/libcrypto/asn1/a_object.c b/src/lib/libcrypto/asn1/a_object.c
index c6e4c77f92..c695499b31 100644
--- a/src/lib/libcrypto/asn1/a_object.c
+++ b/src/lib/libcrypto/asn1/a_object.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_object.c,v 1.46 2022/04/10 12:42:33 inoguchi Exp $ */ 1/* $OpenBSD: a_object.c,v 1.47 2022/04/23 18:47:08 jsing 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 *
@@ -529,9 +529,14 @@ c2i_ASN1_OBJECT_cbs(ASN1_OBJECT **out_aobj, CBS *content)
529 size_t data_len; 529 size_t data_len;
530 CBS cbs; 530 CBS cbs;
531 531
532 if (out_aobj == NULL || *out_aobj != NULL) 532 if (out_aobj == NULL)
533 goto err; 533 goto err;
534 534
535 if (*out_aobj != NULL) {
536 ASN1_OBJECT_free(*out_aobj);
537 *out_aobj = NULL;
538 }
539
535 /* Parse and validate OID encoding per X.690 8.19.2. */ 540 /* Parse and validate OID encoding per X.690 8.19.2. */
536 CBS_dup(content, &cbs); 541 CBS_dup(content, &cbs);
537 if (CBS_len(&cbs) == 0) { 542 if (CBS_len(&cbs) == 0) {