From 5b8117f3d4ad767e5ddb8e202c938bc2e0174ffb Mon Sep 17 00:00:00 2001 From: Kenny Levinsen Date: Mon, 31 Aug 2020 22:44:02 +0200 Subject: client: Do not leak idle clients on exit --- seatd/client.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'seatd/client.c') diff --git a/seatd/client.c b/seatd/client.c index d658454..bd46a86 100644 --- a/seatd/client.c +++ b/seatd/client.c @@ -138,6 +138,7 @@ static int handle_open_seat(struct client *client) { return -1; } + linked_list_remove(&client->link); if (seat_add_client(seat, client) == -1) { log_errorf("unable to add client to target seat: %s", strerror(errno)); return -1; @@ -174,6 +175,7 @@ static int handle_close_seat(struct client *client) { log_error("unable to remove client from seat"); return -1; } + linked_list_insert(&client->server->idle_clients, &client->link); struct proto_header header = { .opcode = SERVER_SEAT_CLOSED, -- cgit v1.2.3