From f548e5d9c6f4e1984797863deec046541bcd6f54 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Thu, 4 Mar 2021 16:15:20 -0600 Subject: [PATCH] asn1: Complete c6fab6c87 (AFL) --- lib/asn1/template.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/asn1/template.c b/lib/asn1/template.c index 0cccc1c5c..77d1a3aa4 100644 --- a/lib/asn1/template.c +++ b/lib/asn1/template.c @@ -691,7 +691,7 @@ _asn1_decode_open_type(const struct asn1_template *t, for (i = 0; ret != ENOMEM && i < len; i++) { if ((val[i] = calloc(1, tactual_type->offset)) == NULL) ret = ENOMEM; - if (ret == 0 && d[i]) + if (ret == 0) /* Re-enter to decode the encoded open type value */ ret = _asn1_decode(tactual_type->ptr, flags, d[0][i].data, d[0][i].length, val[i], &sz); @@ -1050,12 +1050,12 @@ _asn1_decode(const struct asn1_template *t, unsigned flags, memset(DPO(tmp, vallength), 0, ellen); el->val = tmp; + el->len++; ret = _asn1_decode(t->ptr, flags & (~A1_PF_INDEFINTE), p, len, DPO(el->val, vallength), &newsize); if (ret) return ret; vallength = newlen; - el->len++; p += newsize; len -= newsize; }