From fb7e76aec54d312a7cfdb11e72d2299faf6f3314 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sun, 30 Nov 2014 11:05:40 -0500 Subject: Fix evbuffer_peek() with len==-1 and start_at non-NULL. --- buffer.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/buffer.c b/buffer.c index fab7d808..388615cd 100644 --- a/buffer.c +++ b/buffer.c @@ -2589,7 +2589,10 @@ evbuffer_peek(struct evbuffer *buffer, ev_ssize_t len, if (n_vec == 0 && len < 0) { /* If no vectors are provided and they asked for "everything", * pretend they asked for the actual available amount. */ - len = buffer->total_len - len_so_far; + len = buffer->total_len; + if (start_at) { + len -= start_at->pos; + } } while (chain) { -- cgit v1.2.1