From 837e1b6812d53799cff304630bc3a1a9db86b696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodo=20M=C3=B6ller?= Date: Mon, 5 Sep 2011 09:57:20 +0000 Subject: [PATCH] Fix memory leak on bad inputs. --- CHANGES | 6 ++++++ crypto/asn1/x_name.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index b8dde65d40..98992f5a12 100644 --- a/CHANGES +++ b/CHANGES @@ -418,6 +418,9 @@ Changes between 1.0.0d and 1.0.0e [xx XXX xxxx] + *) Fix x509_name_ex_d2i memory leak on bad inputs. + [Bodo Moeller] + *) Remove hard coded ecdsaWithSHA1 signature tests in ssl code and check signature public key algorithm by using OID xref utilities instead. Before this you could only use some ECC ciphersuites with SHA1 only. @@ -1312,6 +1315,9 @@ Changes between 0.9.8r and 0.9.8s [xx XXX xxxx] + *) Fix x509_name_ex_d2i memory leak on bad inputs. + [Bodo Moeller] + *) Add protection against ECDSA timing attacks as mentioned in the paper by Billy Bob Brumley and Nicola Tuveri, see: 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; }