summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/tasn_enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/tasn_enc.c')
-rw-r--r--src/lib/libcrypto/asn1/tasn_enc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_enc.c b/src/lib/libcrypto/asn1/tasn_enc.c
index 430e8e1e8e..bbe8a2e949 100644
--- a/src/lib/libcrypto/asn1/tasn_enc.c
+++ b/src/lib/libcrypto/asn1/tasn_enc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_enc.c,v 1.30 2023/04/28 17:59:53 job Exp $ */ 1/* $OpenBSD: tasn_enc.c,v 1.31 2023/04/30 16:46:49 job 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 */
@@ -210,6 +210,14 @@ ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it,
210 /* fall through */ 210 /* fall through */
211 211
212 case ASN1_ITYPE_SEQUENCE: 212 case ASN1_ITYPE_SEQUENCE:
213 i = asn1_enc_restore(&seqcontlen, out, pval, it);
214 /* An error occurred */
215 if (i < 0)
216 return 0;
217 /* We have a valid cached encoding... */
218 if (i > 0)
219 return seqcontlen;
220 /* Otherwise carry on */
213 seqcontlen = 0; 221 seqcontlen = 0;
214 /* If no IMPLICIT tagging set to SEQUENCE, UNIVERSAL */ 222 /* If no IMPLICIT tagging set to SEQUENCE, UNIVERSAL */
215 if (tag == -1) { 223 if (tag == -1) {