Le 06/11/2026 à 12:32 AM, Adam Crawford a écrit :
The decompression filter may end up with a NULL block pointer when
processing an empty request. If no replacement block is provided,
htx_get_next_blk() is called with this NULL pointer, causing HAProxy
to crash.

Only advance to the next block if the current block pointer is valid.

This was introduced 3.5-dev, no backport needed.
---
  src/flt_decomp.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/flt_decomp.c b/src/flt_decomp.c
index b0409342a..670095845 100644
--- a/src/flt_decomp.c
+++ b/src/flt_decomp.c
@@ -363,7 +363,7 @@ static int decomp_stream_blk(struct stream *s, struct 
filter *f, struct channel
if (next)
                        blk = next; // next override requested
-               else
+               else if (blk)
                        blk = htx_get_next_blk(htx, blk);
                offset = 0;
        }

Good catch. Now merged. Thanks !
--
Christopher Faulet



Reply via email to