summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzat Khuzhin <a3at.mail@gmail.com>2017-12-18 01:34:46 +0300
committerAzat Khuzhin <a3at.mail@gmail.com>2017-12-18 01:53:19 +0300
commit765c35d4a8a008baadc0aeb472fbff985231d7dc (patch)
tree1eda18d16d0cab86d93f0747917557d0318e1a33
parent226b92781345213c838c729ab778dec504f39619 (diff)
downloadlibevent-765c35d4a8a008baadc0aeb472fbff985231d7dc.tar.gz
evbuffer_add_file: munmap() correct size on mmap() failure
-rw-r--r--buffer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/buffer.c b/buffer.c
index 2de7e627..e1a6621e 100644
--- a/buffer.c
+++ b/buffer.c
@@ -2846,13 +2846,13 @@ evbuffer_add_file(struct evbuffer *outbuf, int fd,
*/
if (mapped == MAP_FAILED) {
event_warn("%s: mmap(%d, %d, %zu) failed",
- __func__, fd, 0, (size_t)(offset + length));
+ __func__, fd, 0, (size_t)(length + offset));
return (-1);
}
chain = evbuffer_chain_new(sizeof(struct evbuffer_chain_fd));
if (chain == NULL) {
event_warn("%s: out of memory", __func__);
- munmap(mapped, length);
+ munmap(mapped, length + offset);
return (-1);
}