summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/a_object.c
diff options
context:
space:
mode:
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) {