diff options
author | doug <> | 2015-01-08 01:44:29 +0000 |
---|---|---|
committer | doug <> | 2015-01-08 01:44:29 +0000 |
commit | cec1402d0e894a06dd372b329bddd0ec6a60fce8 (patch) | |
tree | bce98f7cce7ae0bb183b57edaa3a751428837780 | |
parent | 3a1ba6586f3afda6dd61215b810cd5ea59d515eb (diff) | |
download | openbsd-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.c | 3 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/dh/dh_ameth.c | 3 |
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)) |