aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libcharon/plugins/error_notify/error_notify_socket.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libcharon/plugins/error_notify/error_notify_socket.c b/src/libcharon/plugins/error_notify/error_notify_socket.c
index fe3b6355d..3ea657ba5 100644
--- a/src/libcharon/plugins/error_notify/error_notify_socket.c
+++ b/src/libcharon/plugins/error_notify/error_notify_socket.c
@@ -176,6 +176,12 @@ static job_requeue_t accept_(private_error_notify_socket_t *this)
METHOD(error_notify_socket_t, destroy, void,
private_error_notify_socket_t *this)
{
+ uintptr_t fd;
+
+ while (this->connected->remove_last(this->connected, (void*)&fd) == SUCCESS)
+ {
+ close(fd);
+ }
this->connected->destroy(this->connected);
this->mutex->destroy(this->mutex);
close(this->socket);