diff options
Diffstat (limited to 'src/lib/libcrypto/dh/dh_ameth.c')
-rw-r--r-- | src/lib/libcrypto/dh/dh_ameth.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lib/libcrypto/dh/dh_ameth.c b/src/lib/libcrypto/dh/dh_ameth.c index 91178a92b0..729c996a1b 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.11 2014/07/11 08:44:48 jsing Exp $ */ | 1 | /* $OpenBSD: dh_ameth.c,v 1.12 2014/07/12 16:03:37 miod 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 | */ |
@@ -120,8 +120,7 @@ dh_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey) | |||
120 | err: | 120 | err: |
121 | if (public_key) | 121 | if (public_key) |
122 | ASN1_INTEGER_free(public_key); | 122 | ASN1_INTEGER_free(public_key); |
123 | if (dh) | 123 | DH_free(dh); |
124 | DH_free(dh); | ||
125 | return 0; | 124 | return 0; |
126 | } | 125 | } |
127 | 126 | ||
@@ -409,14 +408,12 @@ dh_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from) | |||
409 | 408 | ||
410 | if ((a = BN_dup(from->pkey.dh->p)) == NULL) | 409 | if ((a = BN_dup(from->pkey.dh->p)) == NULL) |
411 | return 0; | 410 | return 0; |
412 | if (to->pkey.dh->p != NULL) | 411 | BN_free(to->pkey.dh->p); |
413 | BN_free(to->pkey.dh->p); | ||
414 | to->pkey.dh->p = a; | 412 | to->pkey.dh->p = a; |
415 | 413 | ||
416 | if ((a = BN_dup(from->pkey.dh->g)) == NULL) | 414 | if ((a = BN_dup(from->pkey.dh->g)) == NULL) |
417 | return 0; | 415 | return 0; |
418 | if (to->pkey.dh->g != NULL) | 416 | BN_free(to->pkey.dh->g); |
419 | BN_free(to->pkey.dh->g); | ||
420 | to->pkey.dh->g = a; | 417 | to->pkey.dh->g = a; |
421 | 418 | ||
422 | return 1; | 419 | return 1; |