=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- src/usr.bin/tmux/server.c 2009/08/23 17:29:51 1.24 +++ src/usr.bin/tmux/server.c 2009/08/31 11:37:27 1.25 @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.24 2009/08/23 17:29:51 nicm Exp $ */ +/* $OpenBSD: server.c,v 1.25 2009/08/31 11:37:27 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -915,7 +915,12 @@ } 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);