]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: mux-quic: remove qcs from opening-list on free
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 7 Dec 2022 10:26:16 +0000 (11:26 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 12 Dec 2022 13:54:39 +0000 (14:54 +0100)
commit641a65ff3cccd394eed49378c6ccdb8ba0a101a7
tree973743c0b2ac2e787791245754d9cbf87b04f989
parent6eb3c4b71c34d815d17bb98bdde582f6ca10272e
BUG/MINOR: mux-quic: remove qcs from opening-list on free

qcs instances for bidirectional streams are inserted in
<qcc.opening_list>. It is removed from the list once a full HTTP request
has been parsed. This is required to implement http-request timeout.

If a qcs instance is freed before receiving a full HTTP request, it must
be removed from the <qcc.opening_list>. Else a segfault will occur in
qcc_refresh_timeout() when accessing a dangling pointer.

For the moment this bug was not reproduced in production. This is
because there exists only few rare cases where a qcs is freed before
HTTP request parsing. However, as error detection will be improved on
H3, this will occur more frequently in the near future.

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