]> git.kaiwu.me - haproxy.git/commit
BUG/MEDIUM: quic: Possible crash on STREAM frame loss
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 27 Apr 2022 05:17:56 +0000 (07:17 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 28 Apr 2022 14:22:40 +0000 (16:22 +0200)
commit77cb38d22d4f1f6b0edae2417a65c2316906796f
tree00e3afce4443243553577566e0401f0e1727a8c1
parentdafbde6c8c9d3f8b83175c00517a96276fa89151
BUG/MEDIUM: quic: Possible crash on STREAM frame loss

A crash is possible under such circumtances:
    - The congestion window is drastically reduced to its miniaml value
    when a quic listener is experiencing extreme packet loss ;
    - we enqueue several STREAM frames to be resent and some of them could not be
    transmitted ;
    - some of the still in flight are acknowledged and trigger the
    stream memory releasing ;
    - when we come back to send the remaing STREAM frames, haproxy
    crashes when it tries to build them.

To fix this issue, we mark the STREAM frame as lost when detected as lost.
Then a lookup if performed for the stream the STREAM frames are attached
to before building them. They are released if the stream is no more available
or the data range of the frame is consumed.
include/haproxy/quic_frame-t.h
src/xprt_quic.c