mirror of
https://github.com/tmux/tmux.git
synced 2024-12-13 01:48:47 +00:00
Sync OpenBSD patchset 300:
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
d15e88cb68
commit
86fb9737dc
9
server.c
9
server.c
@ -1,4 +1,4 @@
|
||||
/* $Id: server.c,v 1.175 2009-08-24 16:27:03 tcunha Exp $ */
|
||||
/* $Id: server.c,v 1.176 2009-08-31 22:24:18 tcunha Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -918,7 +918,12 @@ server_lost_client(struct client *c)
|
||||
}
|
||||
log_debug("lost client %d", c->ibuf.fd);
|
||||
|
||||
tty_free(&c->tty);
|
||||
/*
|
||||
* 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);
|
||||
|
||||
screen_free(&c->status);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user