]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: h3: fix BUG_ON() crash on control stream alloc failure
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 20 Jun 2024 15:51:35 +0000 (17:51 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 24 Jun 2024 12:40:38 +0000 (14:40 +0200)
commit5718c67c19766c87bb68b7624e1873a887fbbaf1
tree527fd0ae29902cdeaef1503cd55adb20f31d5d8c
parent3aded1d3752a12af9b8e48f445218230e6967a06
BUG/MINOR: h3: fix BUG_ON() crash on control stream alloc failure

BUG_ON() from qcc_set_error() is triggered on HTTP/3 control stream
allocation failure. This is caused because both h3_finalize() and
qcc_init_stream_local() call qcc_set_error() which is forbidden to
prevent error code erasure.

Fix this by removing qcc_set_error() invocation from h3_finalize() on
allocation failure. Note that this function is still responsible to use
it on SETTING frame emission failure.

This was detected using -dMfail.

This must be backported up to 3.0.
src/h3.c
src/mux_quic.c