diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-06 00:28:35 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-06 00:28:35 +0100 |
commit | f141e9b37a8d8a0c89c4f74137df9e5088b4b7af (patch) | |
tree | 88b623f63240deb4169f965f97ac68c65bad36a9 /server-fn.c | |
parent | 3fba377ddd6fd234c614b53d5402153c6489b505 (diff) | |
download | rtmux-f141e9b37a8d8a0c89c4f74137df9e5088b4b7af.tar.gz rtmux-f141e9b37a8d8a0c89c4f74137df9e5088b4b7af.tar.bz2 rtmux-f141e9b37a8d8a0c89c4f74137df9e5088b4b7af.zip |
Instead of fixed size buffers for some messages, send only the string length.
Diffstat (limited to 'server-fn.c')
-rw-r--r-- | server-fn.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/server-fn.c b/server-fn.c index 738a61da..f025b3a2 100644 --- a/server-fn.c +++ b/server-fn.c @@ -235,9 +235,8 @@ server_lock_session(struct session *s) void server_lock_client(struct client *c) { - const char *cmd; - size_t cmdlen; - struct msg_lock_data lockdata; + const char *cmd; + size_t cmdlen; if (c->flags & CLIENT_CONTROL) return; @@ -246,8 +245,7 @@ server_lock_client(struct client *c) return; cmd = options_get_string(&c->session->options, "lock-command"); - cmdlen = strlcpy(lockdata.cmd, cmd, sizeof lockdata.cmd); - if (cmdlen >= sizeof lockdata.cmd) + if (strlen(cmd) + 1 > MAX_IMSGSIZE - IMSG_HEADER_SIZE) return; tty_stop_tty(&c->tty); @@ -256,7 +254,7 @@ server_lock_client(struct client *c) tty_raw(&c->tty, tty_term_string(c->tty.term, TTYC_E3)); c->flags |= CLIENT_SUSPENDED; - server_write_client(c, MSG_LOCK, &lockdata, sizeof lockdata); + server_write_client(c, MSG_LOCK, cmd, strlen(cmd) + 1); } void |