diff options
Diffstat (limited to 'src/libcharon/plugins/eap_radius/radius_server.c')
-rw-r--r-- | src/libcharon/plugins/eap_radius/radius_server.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libcharon/plugins/eap_radius/radius_server.c b/src/libcharon/plugins/eap_radius/radius_server.c index d16628091..7cd1477c3 100644 --- a/src/libcharon/plugins/eap_radius/radius_server.c +++ b/src/libcharon/plugins/eap_radius/radius_server.c @@ -176,6 +176,7 @@ METHOD(radius_server_t, destroy, void, this->condvar->destroy(this->condvar); this->sockets->destroy_offset(this->sockets, offsetof(radius_socket_t, destroy)); + free(this->nas_identifier.ptr); free(this); } } @@ -200,7 +201,8 @@ radius_server_t *radius_server_create(char *server, u_int16_t port, .destroy = _destroy, }, .reachable = TRUE, - .nas_identifier = chunk_create(nas_identifier, strlen(nas_identifier)), + .nas_identifier = chunk_clone(chunk_create(nas_identifier, + strlen(nas_identifier))), .socket_count = sockets, .sockets = linked_list_create(), .mutex = mutex_create(MUTEX_TYPE_DEFAULT), |