aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/crypto.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/common/crypto.c b/src/common/crypto.c
index b158967a3..e1b401213 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -1465,13 +1465,11 @@ init_dh_param(void)
crypto_dh_env_t *
crypto_dh_new(void)
{
- crypto_dh_env_t *res = NULL;
+ crypto_dh_env_t *res = tor_malloc_zero(sizeof(crypto_dh_env_t));
if (!dh_param_p)
init_dh_param();
- res = tor_malloc_zero(sizeof(crypto_dh_env_t));
-
if (!(res->dh = DH_new()))
goto err;
@@ -1486,8 +1484,8 @@ crypto_dh_new(void)
return res;
err:
crypto_log_errors(LOG_WARN, "creating DH object");
- if (res && res->dh) DH_free(res->dh); /* frees p and g too */
- if (res) tor_free(res);
+ if (res->dh) DH_free(res->dh); /* frees p and g too */
+ tor_free(res);
return NULL;
}