aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/transforms/diffie_hellman.c
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/transforms/diffie_hellman.c')
-rw-r--r--Source/charon/transforms/diffie_hellman.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/charon/transforms/diffie_hellman.c b/Source/charon/transforms/diffie_hellman.c
index e45b0b368..27aa80cc0 100644
--- a/Source/charon/transforms/diffie_hellman.c
+++ b/Source/charon/transforms/diffie_hellman.c
@@ -538,11 +538,11 @@ static void destroy(private_diffie_hellman_t *this)
mpz_clear(this->modulus);
mpz_clear(this->my_prime);
mpz_clear(this->my_public_value);
+ mpz_clear(this->other_public_value);
if (this->shared_secret_is_computed)
{
/* other public value gets initialized together with shared secret */
- mpz_clear(this->other_public_value);
mpz_clear(this->shared_secret);
}
allocator_free(this);
@@ -569,6 +569,8 @@ diffie_hellman_t *diffie_hellman_create(diffie_hellman_group_t dh_group_number)
/* private variables */
this->dh_group_number = dh_group_number;
+ mpz_init(this->modulus);
+ mpz_init(this->other_public_value);
/* set this->modulus */
if (this->set_modulus(this) != SUCCESS)