diff options
author | 2019-12-16 15:48:50 +0000 | |
---|---|---|
committer | 2019-12-16 15:48:50 +0000 | |
commit | dab96b187283a4fc23ca5a7ac536e094d6d54d49 (patch) | |
tree | bbed2c2f3d2c359c2b4df0141ea1acc7487eff5a /usr.bin/tmux/server-client.c | |
parent | strdup may return NULL if memory allocation fails. Use the safer xstrdup (diff) | |
download | wireguard-openbsd-dab96b187283a4fc23ca5a7ac536e094d6d54d49.tar.xz wireguard-openbsd-dab96b187283a4fc23ca5a7ac536e094d6d54d49.zip |
Instead of using large buffers in imsgs, add the data or path onto the end.
Diffstat (limited to 'usr.bin/tmux/server-client.c')
-rw-r--r-- | usr.bin/tmux/server-client.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c index 1b131cebe91..78a379cfdc9 100644 --- a/usr.bin/tmux/server-client.c +++ b/usr.bin/tmux/server-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server-client.c,v 1.300 2019/12/12 11:39:56 nicm Exp $ */ +/* $OpenBSD: server-client.c,v 1.301 2019/12/16 15:48:50 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -2024,10 +2024,10 @@ server_client_dispatch_read_data(struct client *c, struct imsg *imsg) struct msg_read_data *msg = imsg->data; size_t msglen = imsg->hdr.len - IMSG_HEADER_SIZE; struct client_file find, *cf; - void *bdata = msg->data; - size_t bsize = msg->size; + void *bdata = msg + 1; + size_t bsize = msglen - sizeof *msg; - if (msglen != sizeof *msg) + if (msglen < sizeof *msg) fatalx("bad MSG_READ_DATA size"); find.stream = msg->stream; if ((cf = RB_FIND(client_files, &c->files, &find)) == NULL) |