]> git.kaiwu.me - haproxy.git/commit
BUG/MINOR: mux_quic: fix stream elasticity dec on qcm_init() failure
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 27 Oct 2026 15:09:28 +0000 (16:09 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 28 Oct 2026 10:06:00 +0000 (11:06 +0100)
commit9c8f5952032a705eb592ee4ab65c1b879ea0c864
tree1b61497b81b35b164fe16c9ed0e8c374a18d9903
parent2cf6bbff69cea9af250a27ad8e866f0825befe94
BUG/MINOR: mux_quic: fix stream elasticity dec on qcm_init() failure

On qcm_init() early failure, QCC is freed via qcc_release(). This
function always decrements reserved streams from the thread group pool
when stream elasticity is active for frontend connections.

This causes an issue as qcm_init() may fail before accounting the
committed streams: this is the case for <pacing_task> allocation
failure. Thread group counter is thus invalid after the extra decrement
and may cause an underflow and wrap.

Fix this by moving pacing task allocation later in qcm_init() so that
streams accounting is now performed before any failure path.

This must be backported up to 3.4.
src/mux_quic.c