Fix evbuffer_peek() with len==-1 and start_at non-NULL.

This commit is contained in:
Nick Mathewson 2014-11-30 11:05:40 -05:00
parent 1da2f42bdb
commit fb7e76aec5

View File

@ -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) {