aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2015-10-18 22:01:08 +0100
committerThomas Adam <thomas@xteddy.org>2015-10-18 22:01:08 +0100
commitbbdc08780c23187a4984d5abb674fc1fbf66e605 (patch)
tree314ac771d1c8a3c9820de18b7a1c4c78b51a017c /server-client.c
parent7c78b2b756a207896406a6e6a857e8cedb851c7e (diff)
parent174a2ad731055f97838290226d656813143620ca (diff)
downloadrtmux-bbdc08780c23187a4984d5abb674fc1fbf66e605.tar.gz
rtmux-bbdc08780c23187a4984d5abb674fc1fbf66e605.tar.bz2
rtmux-bbdc08780c23187a4984d5abb674fc1fbf66e605.zip
Merge branch 'obsd-master'
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/server-client.c b/server-client.c
index 524bddb9..c0918078 100644
--- a/server-client.c
+++ b/server-client.c
@@ -1175,9 +1175,10 @@ server_client_msg_identify(struct client *c, struct imsg *imsg)
c->ttyname = xstrdup(data);
break;
case MSG_IDENTIFY_CWD:
- if (datalen != 0)
- fatalx("bad MSG_IDENTIFY_CWD size");
- c->cwd = imsg->fd;
+ if (datalen == 0 || data[datalen - 1] != '\0')
+ fatalx("bad MSG_IDENTIFY_CWD string");
+ if ((c->cwd = open(data, O_RDONLY)) == -1)
+ c->cwd = open("/", O_RDONLY);
break;
case MSG_IDENTIFY_STDIN:
if (datalen != 0)