diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-06 21:20:11 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-10-06 21:20:11 +0100 |
commit | d86c70af965c862651017ab4c288160f37ec654b (patch) | |
tree | 88f689e3f2c5a894820624ce103636acfcaf6c3a /server-client.c | |
parent | 4538c269d0b366a770a5a5ebfe0c5007569edbc1 (diff) | |
download | rtmux-d86c70af965c862651017ab4c288160f37ec654b.tar.gz rtmux-d86c70af965c862651017ab4c288160f37ec654b.tar.bz2 rtmux-d86c70af965c862651017ab4c288160f37ec654b.zip |
Don't look at string[length - 1] if length == 0.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/server-client.c b/server-client.c index 8a99367c..090916c8 100644 --- a/server-client.c +++ b/server-client.c @@ -961,12 +961,12 @@ server_client_msg_identify(struct client *c, struct imsg *imsg) c->flags |= flags; break; case MSG_IDENTIFY_TERM: - if (data[datalen - 1] != '\0') + if (datalen == 0 || data[datalen - 1] != '\0') fatalx("bad MSG_IDENTIFY_TERM string"); c->term = xstrdup(data); break; case MSG_IDENTIFY_TTYNAME: - if (data[datalen - 1] != '\0') + if (datalen == 0 || data[datalen - 1] != '\0') fatalx("bad MSG_IDENTIFY_TTYNAME string"); c->ttyname = xstrdup(data); break; @@ -981,7 +981,7 @@ server_client_msg_identify(struct client *c, struct imsg *imsg) c->fd = imsg->fd; break; case MSG_IDENTIFY_ENVIRON: - if (data[datalen - 1] != '\0') + if (datalen == 0 || data[datalen - 1] != '\0') fatalx("bad MSG_IDENTIFY_ENVIRON string"); if (strchr(data, '=') != NULL) environ_put(&c->environ, data); |