summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordoug <doug@openbsd.org>2015-01-08 01:44:29 +0000
committerdoug <doug@openbsd.org>2015-01-08 01:44:29 +0000
commit4edc1665b67c07a395304022165b6efaf5fb32bb (patch)
treeedbda91be9e9ddf2d2760cfd71b806b34dbb88ce
parentdeclare a local version of MIN(), call it MINIMUM() (diff)
downloadwireguard-openbsd-4edc1665b67c07a395304022165b6efaf5fb32bb.tar.xz
wireguard-openbsd-4edc1665b67c07a395304022165b6efaf5fb32bb.zip
Avoid a double-free in an error path.
ok jsing@ beck@
-rw-r--r--lib/libcrypto/dh/dh_ameth.c3
-rw-r--r--lib/libssl/src/crypto/dh/dh_ameth.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/libcrypto/dh/dh_ameth.c b/lib/libcrypto/dh/dh_ameth.c
index 729c996a1b5..24c8bb25ec0 100644
--- a/lib/libcrypto/dh/dh_ameth.c
+++ b/lib/libcrypto/dh/dh_ameth.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dh_ameth.c,v 1.12 2014/07/12 16:03:37 miod Exp $ */
+/* $OpenBSD: dh_ameth.c,v 1.13 2015/01/08 01:44:29 doug Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2006.
*/
@@ -262,6 +262,7 @@ dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
dplen = i2d_ASN1_INTEGER(prkey, &dp);
ASN1_INTEGER_free(prkey);
+ prkey = NULL;
if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_dhKeyAgreement), 0,
V_ASN1_SEQUENCE, params, dp, dplen))
diff --git a/lib/libssl/src/crypto/dh/dh_ameth.c b/lib/libssl/src/crypto/dh/dh_ameth.c
index 729c996a1b5..24c8bb25ec0 100644
--- a/lib/libssl/src/crypto/dh/dh_ameth.c
+++ b/lib/libssl/src/crypto/dh/dh_ameth.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dh_ameth.c,v 1.12 2014/07/12 16:03:37 miod Exp $ */
+/* $OpenBSD: dh_ameth.c,v 1.13 2015/01/08 01:44:29 doug Exp $ */
/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
* project 2006.
*/
@@ -262,6 +262,7 @@ dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
dplen = i2d_ASN1_INTEGER(prkey, &dp);
ASN1_INTEGER_free(prkey);
+ prkey = NULL;
if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_dhKeyAgreement), 0,
V_ASN1_SEQUENCE, params, dp, dplen))