summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authornicm <nicm>2013-10-10 12:27:38 +0000
committernicm <nicm>2013-10-10 12:27:38 +0000
commitb8b85fbb0c6cf4e9a3fa650ec7dc5036a1b0b01a (patch)
tree6d1981762767e029390db73848b88490fb716527 /client.c
parent282c5f9644ed262ee15efbd3d072f7acc577da15 (diff)
Don't look at string[length - 1] if length == 0.
Diffstat (limited to 'client.c')
-rw-r--r--client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/client.c b/client.c
index 82e43992..e1bd47c2 100644
--- a/client.c
+++ b/client.c
@@ -575,7 +575,7 @@ client_dispatch_wait(void *data0)
imsg_free(&imsg);
return (-1);
case MSG_SHELL:
- if (data[datalen - 1] != '\0')
+ if (datalen == 0 || data[datalen - 1] != '\0')
fatalx("bad MSG_SHELL string");
clear_signals(0);
@@ -659,7 +659,7 @@ client_dispatch_attached(void)
kill(getpid(), SIGTSTP);
break;
case MSG_LOCK:
- if (data[datalen - 1] != '\0')
+ if (datalen == 0 || data[datalen - 1] != '\0')
fatalx("bad MSG_LOCK string");
system(data);