mirror of
https://github.com/tmux/tmux.git
synced 2025-09-04 06:56:58 +00:00
Initialize cwd fd to -1 so that we don't close fd 0 if the client is
destroyed before it is changed. Also allow ttyname() to fail. Fixes problems when running out of file descriptors reported by Bruno Sutic.
This commit is contained in:
@ -96,6 +96,8 @@ server_client_create(int fd)
|
||||
|
||||
environ_init(&c->environ);
|
||||
|
||||
c->cwd = -1;
|
||||
|
||||
c->cmdq = cmdq_new(c);
|
||||
c->cmdq->client_exit = 1;
|
||||
|
||||
@ -1253,12 +1255,11 @@ server_client_msg_identify(struct client *c, struct imsg *imsg)
|
||||
|
||||
if (c->fd == -1)
|
||||
return;
|
||||
if (!isatty(c->fd)) {
|
||||
if (tty_init(&c->tty, c, c->fd, c->term) != 0) {
|
||||
close(c->fd);
|
||||
c->fd = -1;
|
||||
return;
|
||||
}
|
||||
tty_init(&c->tty, c, c->fd, c->term);
|
||||
if (c->flags & CLIENT_UTF8)
|
||||
c->tty.flags |= TTY_UTF8;
|
||||
if (c->flags & CLIENT_256COLOURS)
|
||||
|
Reference in New Issue
Block a user