diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-10-18 22:01:08 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-10-18 22:01:08 +0100 |
commit | bbdc08780c23187a4984d5abb674fc1fbf66e605 (patch) | |
tree | 314ac771d1c8a3c9820de18b7a1c4c78b51a017c /server-client.c | |
parent | 7c78b2b756a207896406a6e6a857e8cedb851c7e (diff) | |
parent | 174a2ad731055f97838290226d656813143620ca (diff) | |
download | rtmux-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.c | 7 |
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) |