]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MAJOR: quic: do not reset QUIC backends fds in closing state
authorFrederic Lecaille <flecaille@haproxy.com>
Fri, 17 Oct 2025 09:04:36 +0000 (11:04 +0200)
committerFrederic Lecaille <flecaille@haproxy.com>
Fri, 17 Oct 2025 10:13:43 +0000 (12:13 +0200)
commit8a8417b54af22e9d95998bb52ccb28a15cc7473f
treeaec8603002550ba9f3b15dfdf1b4050dc593a75f
parent56d15b2a03c52ed7e2ee14200bbf2c04024cd490
BUG/MAJOR: quic: do not reset QUIC backends fds in closing state

This bug impacts only the backends.

When entering the closing state, a quic_closed_conn is used to replace the quic_conn.
In this state, the ->fd value was reset to -1 value calling qc_init_fd(). This value
is used by qc_may_use_saddr() which supposes it cannot be -1 for a backend, leading
->li to be dereferencd, which is legal only for a listener.

This bug impacts only the backend but with possible crash when qc_may_use_saddr()
is called: qc_test_fd() is false leading qc->li to be dereferenced. This is legal
only for a listener.

This patch prevents such fd value resettings for backends.

No need to backport because the QUIC backends support arrived with 3.3.
src/quic_conn.c