aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/eap_radius/radius_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcharon/plugins/eap_radius/radius_server.c')
-rw-r--r--src/libcharon/plugins/eap_radius/radius_server.c4
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),