diff options
Diffstat (limited to 'src/lib/libcrypto/dh/dh_ameth.c')
-rw-r--r-- | src/lib/libcrypto/dh/dh_ameth.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libcrypto/dh/dh_ameth.c b/src/lib/libcrypto/dh/dh_ameth.c index 88fec6bf4a..ec9fe43d2b 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.37 2023/08/12 07:43:48 tb Exp $ */ | 1 | /* $OpenBSD: dh_ameth.c,v 1.38 2023/08/12 07:50:47 tb 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 | */ |
@@ -111,6 +111,7 @@ dh_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey) | |||
111 | DHerror(DH_R_DECODE_ERROR); | 111 | DHerror(DH_R_DECODE_ERROR); |
112 | goto err; | 112 | goto err; |
113 | } | 113 | } |
114 | BN_free(dh->pub_key); | ||
114 | if ((dh->pub_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { | 115 | if ((dh->pub_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { |
115 | DHerror(DH_R_BN_DECODE_ERROR); | 116 | DHerror(DH_R_BN_DECODE_ERROR); |
116 | goto err; | 117 | goto err; |
@@ -223,6 +224,7 @@ dh_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8) | |||
223 | DHerror(DH_R_DECODE_ERROR); | 224 | DHerror(DH_R_DECODE_ERROR); |
224 | goto err; | 225 | goto err; |
225 | } | 226 | } |
227 | BN_free(dh->priv_key); | ||
226 | if ((dh->priv_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { | 228 | if ((dh->priv_key = ASN1_INTEGER_to_BN(aint, NULL)) == NULL) { |
227 | DHerror(DH_R_BN_DECODE_ERROR); | 229 | DHerror(DH_R_BN_DECODE_ERROR); |
228 | goto err; | 230 | goto err; |