mirror of
https://github.com/tmux/tmux.git
synced 2025-01-22 05:37:07 +00:00
Don't call tty_free unless the client is a terminal, otherwise tty_init hasn't
been called and it may end up doing close(0). From Kalle Olavi Niemitalo.
This commit is contained in:
parent
2e5b3ab8bc
commit
71ede76c68
5
server.c
5
server.c
@ -915,6 +915,11 @@ server_lost_client(struct client *c)
|
|||||||
}
|
}
|
||||||
log_debug("lost client %d", c->ibuf.fd);
|
log_debug("lost client %d", c->ibuf.fd);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If CLIENT_TERMINAL hasn't been set, then tty_init hasn't been called
|
||||||
|
* and tty_free might close an unrelated fd.
|
||||||
|
*/
|
||||||
|
if (c->flags & CLIENT_TERMINAL)
|
||||||
tty_free(&c->tty);
|
tty_free(&c->tty);
|
||||||
|
|
||||||
screen_free(&c->status);
|
screen_free(&c->status);
|
||||||
|
Loading…
Reference in New Issue
Block a user