diff options
author | 2013-10-10 12:13:29 +0000 | |
---|---|---|
committer | 2013-10-10 12:13:29 +0000 | |
commit | 7f1a01f4f04708b2fd3a4268084aef2938554d12 (patch) | |
tree | c7d46ad7a744ae1d2e305cd819baaeca9a1c3de3 /usr.bin/tmux/server-client.c | |
parent | retcode -> retval for exit message. (diff) | |
download | wireguard-openbsd-7f1a01f4f04708b2fd3a4268084aef2938554d12.tar.xz wireguard-openbsd-7f1a01f4f04708b2fd3a4268084aef2938554d12.zip |
Instead of fixed size buffers for some messages, send only the string
length.
Diffstat (limited to 'usr.bin/tmux/server-client.c')
-rw-r--r-- | usr.bin/tmux/server-client.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c index 1ae22e840cd..2f4fee778da 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.106 2013/10/10 12:12:54 nicm Exp $ */ +/* $OpenBSD: server-client.c,v 1.107 2013/10/10 12:13:29 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net> @@ -695,8 +695,6 @@ server_client_repeat_timer(unused int fd, unused short events, void *data) void server_client_check_exit(struct client *c) { - struct msg_exit_data exitdata; - if (!(c->flags & CLIENT_EXIT)) return; @@ -707,9 +705,7 @@ server_client_check_exit(struct client *c) if (EVBUFFER_LENGTH(c->stderr_data) != 0) return; - exitdata.retcode = c->retval; - server_write_client(c, MSG_EXIT, &exitdata, sizeof exitdata); - + server_write_client(c, MSG_EXIT, &c->retval, sizeof c->retval); c->flags &= ~CLIENT_EXIT; } @@ -993,16 +989,12 @@ server_client_msg_identify( void server_client_msg_shell(struct client *c) { - struct msg_shell_data data; - const char *shell; + const char *shell; shell = options_get_string(&global_s_options, "default-shell"); - if (*shell == '\0' || areshell(shell)) shell = _PATH_BSHELL; - if (strlcpy(data.shell, shell, sizeof data.shell) >= sizeof data.shell) - strlcpy(data.shell, _PATH_BSHELL, sizeof data.shell); + server_write_client(c, MSG_SHELL, shell, strlen(shell) + 1); - server_write_client(c, MSG_SHELL, &data, sizeof data); c->flags |= CLIENT_BAD; /* it will die after exec */ } |