From 4c49fae9852089b7a2f861ccba5a0d6f7023e32a Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Wed, 7 Nov 2012 15:00:23 +0100 Subject: [PATCH] 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. --- src/proto_http.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/proto_http.c b/src/proto_http.c index 7f2c8061c..cd130494c 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: