summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/tasn_fre.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-10-06 22:53:48 +0100
committerDr. Stephen Henson <steve@openssl.org>2015-10-11 20:33:56 +0100
commit44c734e95c4242af5ccfd7e5c4653eb196705cb9 (patch)
tree7f4374541abe34185f81b59cfb0c2635d2ab80a2 /crypto/asn1/tasn_fre.c
parent71a64af3312d4dfdff2597a979868d2bdd7e3642 (diff)
embed support for CHOICE type
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/asn1/tasn_fre.c')
-rw-r--r--crypto/asn1/tasn_fre.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/asn1/tasn_fre.c b/crypto/asn1/tasn_fre.c
index bd955d9848..1e778858ac 100644
--- a/crypto/asn1/tasn_fre.c
+++ b/crypto/asn1/tasn_fre.c
@@ -125,8 +125,10 @@ static void asn1_item_embed_free(ASN1_VALUE **pval, const ASN1_ITEM *it,
}
if (asn1_cb)
asn1_cb(ASN1_OP_FREE_POST, pval, it, NULL);
- OPENSSL_free(*pval);
- *pval = NULL;
+ if (embed == 0) {
+ OPENSSL_free(*pval);
+ *pval = NULL;
+ }
break;
case ASN1_ITYPE_EXTERN: