diff --git a/buffer.c b/buffer.c index 5cbd10b1..3bec0c63 100644 --- a/buffer.c +++ b/buffer.c @@ -1969,7 +1969,7 @@ evbuffer_write_atmost(struct evbuffer *buffer, evutil_socket_t fd, goto done; } - if (howmuch < 0) + if (howmuch < 0 || howmuch > buffer->total_len) howmuch = buffer->total_len; {