From 4af4feed331fa40ee0fdee063296ceff6e563125 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 5 May 2026 15:05:57 +0200 Subject: [PATCH] BUG/MEDIUM: h1_htx: Remove reverved block on error during contig chunks parsing In h1_parse_full_contig_chunks(), we first try to reserve the bigger HTX DATA block as possible. It is ajusted at the end of chunks parsing or removed if no data was copied. However, it should also be removed when a parsing error is triggered. It could be an issue for http health checks and haterm to properly handle errors. This patch should be backported as far as 2.6. --- src/h1_htx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/h1_htx.c b/src/h1_htx.c index fbd635347..55ddc6fb6 100644 --- a/src/h1_htx.c +++ b/src/h1_htx.c @@ -846,6 +846,7 @@ static size_t h1_parse_full_contig_chunks(struct h1m *h1m, struct htx **dsthtx, parsing_error: (*dsthtx)->flags |= HTX_FL_PARSING_ERROR; + htx_remove_blk(*dsthtx, htxret.blk); h1m->err_state = h1m->state; h1m->err_pos = ofs + end + ridx - start; return 0;