From ab3224c3e66cf92779f8bd91ffe90445e636fa50 Mon Sep 17 00:00:00 2001 From: SuckShit Date: Fri, 20 Apr 2018 15:48:32 +0800 Subject: Fix assert() condition in evbuffer_drain() for IOCP In the case of iocp, in the for loop above, there is a situation where: remaining == chain->off == 0 And this happens due to CHAIN_PINNED_R() case (that is used only in buffer_iocp.c) Closes: #630 (picked) --- buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'buffer.c') diff --git a/buffer.c b/buffer.c index 8113ce6c..80cb54ad 100644 --- a/buffer.c +++ b/buffer.c @@ -1146,7 +1146,7 @@ evbuffer_drain(struct evbuffer *buf, size_t len) } buf->first = chain; - EVUTIL_ASSERT(remaining < chain->off); + EVUTIL_ASSERT(remaining <= chain->off); chain->misalign += remaining; chain->off -= remaining; } -- cgit v1.2.1