summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/asn1/tasn_dec.c2
-rw-r--r--src/lib/libssl/src/crypto/asn1/tasn_dec.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_dec.c b/src/lib/libcrypto/asn1/tasn_dec.c
index 1ce40039b1..be37ac0c96 100644
--- a/src/lib/libcrypto/asn1/tasn_dec.c
+++ b/src/lib/libcrypto/asn1/tasn_dec.c
@@ -171,11 +171,13 @@ 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
174 /* always start fresh */ 175 /* always start fresh */
175 if (*pval) { 176 if (*pval) {
176 ASN1_item_ex_free(pval, it); 177 ASN1_item_ex_free(pval, it);
177 *pval = NULL; 178 *pval = NULL;
178 } 179 }
180
179 if (aux && aux->asn1_cb) 181 if (aux && aux->asn1_cb)
180 asn1_cb = aux->asn1_cb; 182 asn1_cb = aux->asn1_cb;
181 else 183 else
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_dec.c b/src/lib/libssl/src/crypto/asn1/tasn_dec.c
index 1ce40039b1..be37ac0c96 100644
--- a/src/lib/libssl/src/crypto/asn1/tasn_dec.c
+++ b/src/lib/libssl/src/crypto/asn1/tasn_dec.c
@@ -171,11 +171,13 @@ 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
174 /* always start fresh */ 175 /* always start fresh */
175 if (*pval) { 176 if (*pval) {
176 ASN1_item_ex_free(pval, it); 177 ASN1_item_ex_free(pval, it);
177 *pval = NULL; 178 *pval = NULL;
178 } 179 }
180
179 if (aux && aux->asn1_cb) 181 if (aux && aux->asn1_cb)
180 asn1_cb = aux->asn1_cb; 182 asn1_cb = aux->asn1_cb;
181 else 183 else