From 2185e639210f072f37e9d19aff7dba382db84529 Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Fri, 11 Mar 2016 14:02:13 +0300 Subject: [PATCH] http: assert's that evbuffer_drain() success on connection reset Since otherwise we can have nasty bugs with part of previous *request* in current *request* and hence some parsing errors. And now we have failures: http/non_lingering_close: [forking] [err] ../http.c:1326: Assertion !evbuffer_drain(tmp, -1) failed in ../http.c --- http.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/http.c b/http.c index 26032b0f..f7241020 100644 --- a/http.c +++ b/http.c @@ -1323,9 +1323,9 @@ evhttp_connection_reset_(struct evhttp_connection *evcon) /* we need to clean up any buffered data */ tmp = bufferevent_get_output(evcon->bufev); - evbuffer_drain(tmp, evbuffer_get_length(tmp)); + EVUTIL_ASSERT(!evbuffer_drain(tmp, -1)); tmp = bufferevent_get_input(evcon->bufev); - evbuffer_drain(tmp, evbuffer_get_length(tmp)); + EVUTIL_ASSERT(!evbuffer_drain(tmp, -1)); evcon->state = EVCON_DISCONNECTED; } -- 2.50.1