aboutsummaryrefslogtreecommitdiff
path: root/client.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2015-07-14 08:15:05 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2015-07-14 08:15:05 +0100
commit5ffb869e1a543b264b9d94a19077d16f9832aff5 (patch)
tree59392329b2b678d46667e0960efa9e2c7dfb202a /client.c
parentbed3069fd746741286e624126774f98ed51fbbdf (diff)
parentdcc28434f460f637976ca313e062c0728d438e97 (diff)
downloadrtmux-5ffb869e1a543b264b9d94a19077d16f9832aff5.tar.gz
rtmux-5ffb869e1a543b264b9d94a19077d16f9832aff5.tar.bz2
rtmux-5ffb869e1a543b264b9d94a19077d16f9832aff5.zip
Merge branch 'master' of github.com:tmux/tmux
Diffstat (limited to 'client.c')
-rw-r--r--client.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/client.c b/client.c
index 9c493dfa..9a5ae455 100644
--- a/client.c
+++ b/client.c
@@ -354,6 +354,7 @@ client_send_identify(int flags)
{
const char *s;
char **ss;
+ size_t sslen;
int fd;
pid_t pid;
@@ -378,8 +379,11 @@ client_send_identify(int flags)
pid = getpid();
client_write_one(MSG_IDENTIFY_CLIENTPID, -1, &pid, sizeof pid);
- for (ss = environ; *ss != NULL; ss++)
- client_write_one(MSG_IDENTIFY_ENVIRON, -1, *ss, strlen(*ss) + 1);
+ for (ss = environ; *ss != NULL; ss++) {
+ sslen = strlen(*ss) + 1;
+ if (sslen <= MAX_IMSGSIZE - IMSG_HEADER_SIZE)
+ client_write_one(MSG_IDENTIFY_ENVIRON, -1, *ss, sslen);
+ }
client_write_one(MSG_IDENTIFY_DONE, -1, NULL, 0);