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).
diff --git a/src/flt_http_comp.c b/src/flt_http_comp.c
index 0170809..4873056 100644
--- a/src/flt_http_comp.c
+++ b/src/flt_http_comp.c
@@ -1074,10 +1074,10 @@
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;