From: Willy Tarreau Date: Mon, 21 Apr 2014 09:00:13 +0000 (+0200) Subject: BUG/MINOR: http: deinitialize compression after a parsing error X-Git-Tag: v1.5-dev23~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d01f426e622259dbf3e7b05cd8b0a78b1d327b33;p=thirdparty%2Fhaproxy.git BUG/MINOR: http: deinitialize compression after a parsing error When a parsing error was encountered in a chunked response, we failed to properly deinitialize the compression context. There was no impact till now since compression of chunked responses was disabled. No backport is needed. --- diff --git a/src/proto_http.c b/src/proto_http.c index 8c54433927..ff0a662030 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -6414,6 +6414,11 @@ int http_response_forward_body(struct session *s, struct channel *res, int an_bi objt_server(s->target)->counters.failed_resp++; return_bad_res_stats_ok: + if (unlikely(compressing)) { + http_compression_buffer_end(s, &res->buf, &tmpbuf, 0); + compressing = 0; + } + txn->rsp.msg_state = HTTP_MSG_ERROR; /* don't send any error message as we're in the body */ stream_int_retnclose(res->cons, NULL);