summaryrefslogtreecommitdiff
path: root/src/daemon/dlt_daemon_connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/dlt_daemon_connection.c')
-rw-r--r--src/daemon/dlt_daemon_connection.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/daemon/dlt_daemon_connection.c b/src/daemon/dlt_daemon_connection.c
index 51f975d..b22f4b7 100644
--- a/src/daemon/dlt_daemon_connection.c
+++ b/src/daemon/dlt_daemon_connection.c
@@ -171,6 +171,7 @@ STATIC void dlt_connection_destroy_receiver(DltConnection *con)
default:
(void) dlt_receiver_free(con->receiver);
free(con->receiver);
+ con->receiver = NULL;
break;
}
}
@@ -320,6 +321,9 @@ void dlt_connection_destroy(DltConnection *to_destroy)
{
close(to_destroy->receiver->fd);
dlt_connection_destroy_receiver(to_destroy);
+ /* connection pointer might be in epoll queue and used even after destroying
+ * it. To make sure it is not used anymore, connection type is invalidated */
+ to_destroy->type = DLT_CONNECTION_TYPE_MAX;
free(to_destroy);
}