]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: quic: strengthen qc_release_frm()
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 3 Oct 2024 16:11:08 +0000 (18:11 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 4 Oct 2024 14:00:05 +0000 (16:00 +0200)
commit324a49ed4d1e3ef8a44fc7155e8dbff941863630
treec9e8e43ec789f808843d2fbe0c94833bfc67d565
parent131b877565db423930909f0c26f25e000cbd6e3b
MINOR: quic: strengthen qc_release_frm()

quic_frame is the type used to represent frames emitted in a QUIC Tx
packet. Each frame is attached to a packet, and can also be linked to
other frames from the the same packet, or duplicated frames for
retransmission. As such, quic_frame free operation is a tedious process.

qc_release_frm() has been implemented to ensure quic_frame is always
properly freed after detaching from all its list attach point. One
particular point is to ensure that when a frame is released, the frame
origin and all origin copies, including the current <frm> are flagged as
acked and detached from the reflist. Add a BUG_ON() to ensure this loop
is properly conducted when dealing with the current <frm> instance.
src/quic_frame.c