summaryrefslogtreecommitdiff
path: root/buffer.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-11-30 11:09:50 -0500
committerNick Mathewson <nickm@torproject.org>2014-11-30 11:09:50 -0500
commita5d43cf4c6a6d4c1fbb7ed244eac9124317d273d (patch)
treec8efef9c34786ef5e046cfc2f58b12b7400f9e9a /buffer.c
parent4f360f89ca1e089732853463fd0bc07d95142704 (diff)
parent154006ad36aa8ec2ebb50a366348b3b35c2c06b4 (diff)
downloadlibevent-a5d43cf4c6a6d4c1fbb7ed244eac9124317d273d.tar.gz
Merge branch 'evbufer_peek_fix_v3'
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/buffer.c b/buffer.c
index f5a52104..231f1914 100644
--- a/buffer.c
+++ b/buffer.c
@@ -2742,7 +2742,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) {