summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
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 38fe52cd..a36c6471 100644
--- a/client.c
+++ b/client.c
@@ -601,8 +601,8 @@ client_read_callback(__unused struct bufferevent *bev, void *arg)
if (bsize == 0)
break;
- if (bsize > MAX_IMSGSIZE - IMSG_HEADER_SIZE)
- bsize = MAX_IMSGSIZE - IMSG_HEADER_SIZE;
+ if (bsize > MAX_IMSGSIZE - IMSG_HEADER_SIZE - sizeof *msg)
+ bsize = MAX_IMSGSIZE - IMSG_HEADER_SIZE - sizeof *msg;
log_debug("read %zu from file %d", bsize, cf->stream);
msglen = (sizeof *msg) + bsize;