summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/asn1/tasn_dec.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_dec.c b/src/lib/libcrypto/asn1/tasn_dec.c
index a6614f174e..7e416719e0 100644
--- a/src/lib/libcrypto/asn1/tasn_dec.c
+++ b/src/lib/libcrypto/asn1/tasn_dec.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_dec.c,v 1.55 2022/05/04 10:47:36 jsing Exp $ */ 1/* $OpenBSD: tasn_dec.c,v 1.56 2022/05/04 10:53:26 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -716,15 +716,9 @@ asn1_d2i_ex_primitive(ASN1_VALUE **pval, const unsigned char **in, long inlen,
716 } 716 }
717 717
718 content = *in; 718 content = *in;
719 /* If indefinite length constructed find the real end */ 719 if (!asn1_find_end(&p, plen, inf))
720 if (inf) { 720 goto err;
721 if (!asn1_find_end(&p, plen, inf)) 721 len = p - content;
722 goto err;
723 len = p - content;
724 } else {
725 len = p - content + plen;
726 p += plen;
727 }
728 } else if (cst) { 722 } else if (cst) {
729 /* 723 /*
730 * Should really check the internal tags are correct but 724 * Should really check the internal tags are correct but