BUG/MEDIUM: compression: Fix loop skipping unused blocks to get the next block

In comp_http_payload(), the loop skipping unused blocks is buggy and may
lead to a infinite loop if the first next block is unused. Indeed instead of
iterating on blocks, we always retrieve the same one because <blk> is used
instead of <next> to get the next block.

This bug was introduced when the EOM block was removed in 2.4. Thus, this
patch must be backported to 2.4.

(cherry picked from commit 86ca0e52f7fef2db55ee870d5740f715dac7c30d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/flt_http_comp.c b/src/flt_http_comp.c
index 2ef8342..ba64877 100644
--- a/src/flt_http_comp.c
+++ b/src/flt_http_comp.c
@@ -181,7 +181,7 @@
 
 		next = htx_get_next_blk(htx, blk);
 		while (next && htx_get_blk_type(next) == HTX_BLK_UNUSED)
-			next = htx_get_next_blk(htx, blk);
+			next = htx_get_next_blk(htx, next);
 
 		if (htx_compression_buffer_init(htx, &trash) < 0) {
 			msg->chn->flags |= CF_WAKE_WRITE;