]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: mux-quic: fix crash on aborting uni remote stream
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 5 Mar 2024 14:14:08 +0000 (15:14 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 6 Mar 2024 09:41:01 +0000 (10:41 +0100)
commitb0dd4810e748b300482b4610cd904a42e429d91f
tree7e48ef6f79d6168c69d9492dde1055f985d33ec4
parentd8f1ff8648b1705957f94680af354d4173c6d5fe
BUG/MINOR: mux-quic: fix crash on aborting uni remote stream

A remote unidirectional stream can be aborted prematurely if application
layers cannot identify its type. In this case, a STOP_SENDING frame is
emitted.

Since QUIC MUX refactoring, a crash would occur in this scenario due to
2 specific characteristics of remote uni streams :
* qcs.tx.fctl was not initialized completely. This cause a crash due to
  BUG_ON() statement inside qcs_destroy().
* qcs.stream is never allocated. This caused qcs_prep_bytes() to crash
  inside qcc_io_send().

This bug is considered minor as it happens only on very specific QUIC
clients. It was detected when using s2n-quic over interop.

This does not need to be backported.
src/mux_quic.c