diff options
Diffstat (limited to 'src/libcharon/plugins/eap_radius/radius_socket.c')
-rw-r--r-- | src/libcharon/plugins/eap_radius/radius_socket.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libcharon/plugins/eap_radius/radius_socket.c b/src/libcharon/plugins/eap_radius/radius_socket.c index f46c27ede..df5f5b089 100644 --- a/src/libcharon/plugins/eap_radius/radius_socket.c +++ b/src/libcharon/plugins/eap_radius/radius_socket.c @@ -257,6 +257,7 @@ METHOD(radius_socket_t, destroy, void, DESTROY_IF(this->hasher); DESTROY_IF(this->signer); DESTROY_IF(this->rng); + chunk_clear(&this->secret); close(this->fd); free(this); } @@ -300,7 +301,7 @@ radius_socket_t *radius_socket_create(host_t *host, chunk_t secret) destroy(this); return NULL; } - this->secret = secret; + this->secret = chunk_clone(secret); this->signer->set_key(this->signer, secret); /* we use a random identifier, helps if we restart often */ this->identifier = random(); |