From: William Lallemand Date: Wed, 7 Nov 2012 14:00:23 +0000 (+0100) Subject: MINOR: compression: init before deleting headers X-Git-Tag: v1.5-dev13~75 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c49fae9852089b7a2f861ccba5a0d6f7023e32a;p=thirdparty%2Fhaproxy.git MINOR: compression: init before deleting headers Init the compression algorithm before modifying the response headers. So if the compression init fail, the headers won't be modified. --- diff --git a/src/proto_http.c b/src/proto_http.c index 7f2c8061c5..cd130494c9 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -2087,6 +2087,10 @@ int select_compression_response_header(struct session *s, struct buffer *res) ctx.idx = 0; + /* initialize compression */ + if (s->comp_algo->init(&s->comp_ctx, 1) < 0) + goto fail; + /* remove Content-Length header */ if ((msg->flags & HTTP_MSGF_CNT_LEN) && http_find_header2("Content-Length", 14, res->p, &txn->hdr_idx, &ctx)) http_remove_header2(msg, &txn->hdr_idx, &ctx); @@ -2110,10 +2114,6 @@ int select_compression_response_header(struct session *s, struct buffer *res) http_header_add_tail2(&txn->rsp, &txn->hdr_idx, trash.str, trash.len); } - /* initialize compression */ - if (s->comp_algo->init(&s->comp_ctx, 1) < 0) - goto fail; - return 1; fail: