diff options
author | 2012-03-17 18:24:07 +0000 | |
---|---|---|
committer | 2012-03-17 18:24:07 +0000 | |
commit | 346357b798ef0748da3b6bdd1c273831780b783f (patch) | |
tree | 5fa368b6618858af7d029dffd2ab840ea7108706 /usr.bin/tmux/server-client.c | |
parent | Redirect libevent logging to tmux's log. (diff) | |
download | wireguard-openbsd-346357b798ef0748da3b6bdd1c273831780b783f.tar.xz wireguard-openbsd-346357b798ef0748da3b6bdd1c273831780b783f.zip |
Check event_initialized before event_del if event may not have been set
up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
Diffstat (limited to 'usr.bin/tmux/server-client.c')
-rw-r--r-- | usr.bin/tmux/server-client.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c index ea8baa37c50..9dd835cda71 100644 --- a/usr.bin/tmux/server-client.c +++ b/usr.bin/tmux/server-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server-client.c,v 1.68 2012/03/09 21:42:13 nicm Exp $ */ +/* $OpenBSD: server-client.c,v 1.69 2012/03/17 18:24:07 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -153,11 +153,13 @@ server_client_lost(struct client *c) evtimer_del(&c->repeat_timer); - evtimer_del(&c->identify_timer); + if (event_initialized(&c->identify_timer)) + evtimer_del(&c->identify_timer); if (c->message_string != NULL) xfree(c->message_string); - evtimer_del(&c->message_timer); + if (event_initialized (&c->message_timer)) + evtimer_del(&c->message_timer); for (i = 0; i < ARRAY_LENGTH(&c->message_log); i++) { msg = &ARRAY_ITEM(&c->message_log, i); xfree(msg->msg); @@ -176,7 +178,8 @@ server_client_lost(struct client *c) close(c->ibuf.fd); imsg_clear(&c->ibuf); - event_del(&c->event); + if (event_initialized(&c->event)) + event_del(&c->event); for (i = 0; i < ARRAY_LENGTH(&dead_clients); i++) { if (ARRAY_ITEM(&dead_clients, i) == NULL) { |