summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dh
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dh')
-rw-r--r--src/lib/libcrypto/dh/dh_ameth.c11
-rw-r--r--src/lib/libcrypto/dh/dh_check.c8
-rw-r--r--src/lib/libcrypto/dh/dh_key.c5
-rw-r--r--src/lib/libcrypto/dh/dh_lib.c23
4 files changed, 17 insertions, 30 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)
120err: 120err:
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;
diff --git a/src/lib/libcrypto/dh/dh_check.c b/src/lib/libcrypto/dh/dh_check.c
index 01b9531a44..0f6c50b055 100644
--- a/src/lib/libcrypto/dh/dh_check.c
+++ b/src/lib/libcrypto/dh/dh_check.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_check.c,v 1.13 2014/07/11 08:44:48 jsing Exp $ */ 1/* $OpenBSD: dh_check.c,v 1.14 2014/07/12 16:03:37 miod Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -114,10 +114,8 @@ DH_check(const DH *dh, int *ret)
114 } 114 }
115 ok = 1; 115 ok = 1;
116err: 116err:
117 if (ctx != NULL) 117 BN_CTX_free(ctx);
118 BN_CTX_free(ctx); 118 BN_free(q);
119 if (q != NULL)
120 BN_free(q);
121 return ok; 119 return ok;
122} 120}
123 121
diff --git a/src/lib/libcrypto/dh/dh_key.c b/src/lib/libcrypto/dh/dh_key.c
index 6d90816122..132ba5cfa4 100644
--- a/src/lib/libcrypto/dh/dh_key.c
+++ b/src/lib/libcrypto/dh/dh_key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_key.c,v 1.20 2014/07/11 08:44:48 jsing Exp $ */ 1/* $OpenBSD: dh_key.c,v 1.21 2014/07/12 16:03:37 miod Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -260,7 +260,6 @@ dh_init(DH *dh)
260static int 260static int
261dh_finish(DH *dh) 261dh_finish(DH *dh)
262{ 262{
263 if (dh->method_mont_p) 263 BN_MONT_CTX_free(dh->method_mont_p);
264 BN_MONT_CTX_free(dh->method_mont_p);
265 return 1; 264 return 1;
266} 265}
diff --git a/src/lib/libcrypto/dh/dh_lib.c b/src/lib/libcrypto/dh/dh_lib.c
index 0a956e5416..c438f387c0 100644
--- a/src/lib/libcrypto/dh/dh_lib.c
+++ b/src/lib/libcrypto/dh/dh_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_lib.c,v 1.19 2014/07/11 08:44:48 jsing Exp $ */ 1/* $OpenBSD: dh_lib.c,v 1.20 2014/07/12 16:03:37 miod Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -194,21 +194,14 @@ DH_free(DH *r)
194 194
195 CRYPTO_free_ex_data(CRYPTO_EX_INDEX_DH, r, &r->ex_data); 195 CRYPTO_free_ex_data(CRYPTO_EX_INDEX_DH, r, &r->ex_data);
196 196
197 if (r->p != NULL) 197 BN_clear_free(r->p);
198 BN_clear_free(r->p); 198 BN_clear_free(r->g);
199 if (r->g != NULL) 199 BN_clear_free(r->q);
200 BN_clear_free(r->g); 200 BN_clear_free(r->j);
201 if (r->q != NULL)
202 BN_clear_free(r->q);
203 if (r->j != NULL)
204 BN_clear_free(r->j);
205 free(r->seed); 201 free(r->seed);
206 if (r->counter != NULL) 202 BN_clear_free(r->counter);
207 BN_clear_free(r->counter); 203 BN_clear_free(r->pub_key);
208 if (r->pub_key != NULL) 204 BN_clear_free(r->priv_key);
209 BN_clear_free(r->pub_key);
210 if (r->priv_key != NULL)
211 BN_clear_free(r->priv_key);
212 free(r); 205 free(r);
213} 206}
214 207