summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/server-client.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2013-10-10 12:13:29 +0000
committernicm <nicm@openbsd.org>2013-10-10 12:13:29 +0000
commit7f1a01f4f04708b2fd3a4268084aef2938554d12 (patch)
treec7d46ad7a744ae1d2e305cd819baaeca9a1c3de3 /usr.bin/tmux/server-client.c
parentretcode -> retval for exit message. (diff)
downloadwireguard-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.c16
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 */
}