diff options
Diffstat (limited to 'src/lib/libssl')
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/tasn_dec.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| 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 | 
