Browse Source

Clean up some redundant stuff in crypto_dh_new().

svn:r16778
Nick Mathewson 15 years ago
parent
commit
4d94e061c7
1 changed files with 3 additions and 5 deletions
  1. 3 5
      src/common/crypto.c

+ 3 - 5
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;
 }