From 32efff0c67974d364e8950c2276a3743a026573d Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 22 Jan 2010 14:17:47 +0100 Subject: [PATCH] [CLEANUP] http_server_error() must not purge a previous pending response This can cause parts of responses to be truncated in case of pipelined requests if the second request generates an error before the first request is completely flushed. (cherry picked from commit d5fd51c75be6479539228f84377622a986b23be2) --- src/proto_http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proto_http.c b/src/proto_http.c index 36d73cef5..cc2af32f2 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -532,8 +532,8 @@ int http_find_header(const char *name, static void http_server_error(struct session *t, struct stream_interface *si, int err, int finst, int status, const struct chunk *msg) { + buffer_abort(si->ob); buffer_erase(si->ob); - buffer_erase(si->ib); buffer_write_ena(si->ib); if (status > 0 && msg) { t->txn.status = status;