diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/asn1/tasn_dec.c | 14 |
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 |
