BUG/MEDIUM: mux-quic: fix crash on H3 SETTINGS emission
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 25 Jan 2023 16:44:36 +0000 (17:44 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 25 Jan 2023 17:01:18 +0000 (18:01 +0100)
commitb4d119f0c75ce7c5a977ece18dc975e14f9b460c
tree1e2b5e4f9412d298c55fef0943b9e145d6fe8733
parent19adeb56402a28701b8dd404db3bdf66d51eb050
BUG/MEDIUM: mux-quic: fix crash on H3 SETTINGS emission

A major regression was introduced by following patch
    commit 71fd03632fff43f11cebc6ff4974723c9dc81c67
    MINOR: mux-quic/h3: send SETTINGS as soon as transport is ready

H3 finalize operation is now called at an early stage in the middle of
qc_init(). However, some qcc members are not yet initialized. In
particular the stream tree which will cause a crash when H3 control
stream will be accessed.

To fix this, qcc_install_app_ops() has been delayed at the end of
qc_init(). This ensures that qcc is properly initialized when app_ops
operation are used.

This must be backported wherever above patch is. For the record, it has
been tagged up to 2.7.
src/mux_quic.c