=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server-client.c,v retrieving revision 1.300 retrieving revision 1.301 diff -u -r1.300 -r1.301 --- src/usr.bin/tmux/server-client.c 2019/12/12 11:39:56 1.300 +++ src/usr.bin/tmux/server-client.c 2019/12/16 15:48:50 1.301 @@ -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 @@ -2024,10 +2024,10 @@ 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)