summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/asn1/tasn_dec.c5
-rw-r--r--src/lib/libssl/src/crypto/asn1/tasn_dec.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_dec.c b/src/lib/libcrypto/asn1/tasn_dec.c
index f19c457169..1ce40039b1 100644
--- a/src/lib/libcrypto/asn1/tasn_dec.c
+++ b/src/lib/libcrypto/asn1/tasn_dec.c
@@ -171,6 +171,11 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
171 171
172 if (!pval) 172 if (!pval)
173 return 0; 173 return 0;
174 /* always start fresh */
175 if (*pval) {
176 ASN1_item_ex_free(pval, it);
177 *pval = NULL;
178 }
174 if (aux && aux->asn1_cb) 179 if (aux && aux->asn1_cb)
175 asn1_cb = aux->asn1_cb; 180 asn1_cb = aux->asn1_cb;
176 else 181 else
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_dec.c b/src/lib/libssl/src/crypto/asn1/tasn_dec.c
index f19c457169..1ce40039b1 100644
--- a/src/lib/libssl/src/crypto/asn1/tasn_dec.c
+++ b/src/lib/libssl/src/crypto/asn1/tasn_dec.c
@@ -171,6 +171,11 @@ ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
171 171
172 if (!pval) 172 if (!pval)
173 return 0; 173 return 0;
174 /* always start fresh */
175 if (*pval) {
176 ASN1_item_ex_free(pval, it);
177 *pval = NULL;
178 }
174 if (aux && aux->asn1_cb) 179 if (aux && aux->asn1_cb)
175 asn1_cb = aux->asn1_cb; 180 asn1_cb = aux->asn1_cb;
176 else 181 else