summaryrefslogtreecommitdiffstats
path: root/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'file.c')
-rw-r--r--file.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/file.c b/file.c
index 7e1f1879..9a3e79de 100644
--- a/file.c
+++ b/file.c
@@ -376,8 +376,8 @@ file_push(struct client_file *cf)
left = EVBUFFER_LENGTH(cf->buffer);
while (left != 0) {
sent = left;
- if (sent > MAX_IMSGSIZE - IMSG_HEADER_SIZE)
- sent = MAX_IMSGSIZE - IMSG_HEADER_SIZE;
+ if (sent > MAX_IMSGSIZE - IMSG_HEADER_SIZE - sizeof *msg)
+ sent = MAX_IMSGSIZE - IMSG_HEADER_SIZE - sizeof *msg;
msglen = (sizeof *msg) + sent;
msg = xrealloc(msg, msglen);