summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoug <>2015-01-08 01:44:29 +0000
committerdoug <>2015-01-08 01:44:29 +0000
commitcec1402d0e894a06dd372b329bddd0ec6a60fce8 (patch)
treebce98f7cce7ae0bb183b57edaa3a751428837780
parent3a1ba6586f3afda6dd61215b810cd5ea59d515eb (diff)
downloadopenbsd-cec1402d0e894a06dd372b329bddd0ec6a60fce8.tar.gz
openbsd-cec1402d0e894a06dd372b329bddd0ec6a60fce8.tar.bz2
openbsd-cec1402d0e894a06dd372b329bddd0ec6a60fce8.zip
Avoid a double-free in an error path.
ok jsing@ beck@
-rw-r--r--src/lib/libcrypto/dh/dh_ameth.c3
-rw-r--r--src/lib/libssl/src/crypto/dh/dh_ameth.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libcrypto/dh/dh_ameth.c b/src/lib/libcrypto/dh/dh_ameth.c
index 729c996a1b..24c8bb25ec 100644
--- a/src/lib/libcrypto/dh/dh_ameth.c
+++ b/src/lib/libcrypto/dh/dh_ameth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_ameth.c,v 1.12 2014/07/12 16:03:37 miod Exp $ */ 1/* $OpenBSD: dh_ameth.c,v 1.13 2015/01/08 01:44:29 doug Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -262,6 +262,7 @@ dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
262 dplen = i2d_ASN1_INTEGER(prkey, &dp); 262 dplen = i2d_ASN1_INTEGER(prkey, &dp);
263 263
264 ASN1_INTEGER_free(prkey); 264 ASN1_INTEGER_free(prkey);
265 prkey = NULL;
265 266
266 if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_dhKeyAgreement), 0, 267 if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_dhKeyAgreement), 0,
267 V_ASN1_SEQUENCE, params, dp, dplen)) 268 V_ASN1_SEQUENCE, params, dp, dplen))
diff --git a/src/lib/libssl/src/crypto/dh/dh_ameth.c b/src/lib/libssl/src/crypto/dh/dh_ameth.c
index 729c996a1b..24c8bb25ec 100644
--- a/src/lib/libssl/src/crypto/dh/dh_ameth.c
+++ b/src/lib/libssl/src/crypto/dh/dh_ameth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_ameth.c,v 1.12 2014/07/12 16:03:37 miod Exp $ */ 1/* $OpenBSD: dh_ameth.c,v 1.13 2015/01/08 01:44:29 doug Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -262,6 +262,7 @@ dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
262 dplen = i2d_ASN1_INTEGER(prkey, &dp); 262 dplen = i2d_ASN1_INTEGER(prkey, &dp);
263 263
264 ASN1_INTEGER_free(prkey); 264 ASN1_INTEGER_free(prkey);
265 prkey = NULL;
265 266
266 if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_dhKeyAgreement), 0, 267 if (!PKCS8_pkey_set0(p8, OBJ_nid2obj(NID_dhKeyAgreement), 0,
267 V_ASN1_SEQUENCE, params, dp, dplen)) 268 V_ASN1_SEQUENCE, params, dp, dplen))