summaryrefslogtreecommitdiffstats
path: root/crypto/asn1
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>2011-09-05 09:57:20 +0000
committerBodo Möller <bodo@openssl.org>2011-09-05 09:57:20 +0000
commit837e1b6812d53799cff304630bc3a1a9db86b696 (patch)
tree26d6cd753dd70524dbdcc89f534e76b4cf59dcc9 /crypto/asn1
parentae53b299faaeb8cf985b04ea7964d160975ba07e (diff)
Fix memory leak on bad inputs.
Diffstat (limited to 'crypto/asn1')
-rw-r--r--crypto/asn1/x_name.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/asn1/x_name.c b/crypto/asn1/x_name.c
index 063bf7c16b..49be08b4da 100644
--- a/crypto/asn1/x_name.c
+++ b/crypto/asn1/x_name.c
@@ -214,7 +214,9 @@ static int x509_name_ex_d2i(ASN1_VALUE **val,
*val = nm.a;
*in = p;
return ret;
- err:
+err:
+ if (nm.x != NULL)
+ X509_NAME_free(nm.x);
ASN1err(ASN1_F_X509_NAME_EX_D2I, ERR_R_NESTED_ASN1_ERROR);
return 0;
}