From 9666720c83ab2b5a6a4214cb0a61c9250b564626 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 17 Dec 2018 12:02:57 +0100 Subject: [PATCH] BUG/MEDIUM: compression: Use the right buffer pointers to compress input data A bug was introduced when the buffers API was refactored. It was when wrapping input data were compressed. the pointer b_peek(in, 0) was used instead of "b_orig(in)". b_peek(in, 0) is in fact the same as b_head(in). --- src/flt_http_comp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/flt_http_comp.c b/src/flt_http_comp.c index 017080961e..4873056050 100644 --- a/src/flt_http_comp.c +++ b/src/flt_http_comp.c @@ -1074,10 +1074,10 @@ http_compression_buffer_add_data(struct comp_state *st, struct buffer *in, block2 = data_process_len - block1; /* compressors return < 0 upon error or the amount of bytes read */ - consumed_data = st->comp_algo->add_data(st->comp_ctx, b_head(in) + in_out, block1, out); + consumed_data = st->comp_algo->add_data(st->comp_ctx, b_peek(in, in_out), block1, out); if (consumed_data != block1 || !block2) goto end; - consumed_data = st->comp_algo->add_data(st->comp_ctx, b_peek(in, 0), block2, out); + consumed_data = st->comp_algo->add_data(st->comp_ctx, b_orig(in), block2, out); if (consumed_data < 0) goto end; consumed_data += block1; -- 2.39.5