From: Frédéric Lécaille Date: Wed, 2 Jun 2021 15:40:09 +0000 (+0200) Subject: BUG/MINOR: quic: Missing cases treatement when updating ACK ranges X-Git-Tag: v2.5-dev8~127 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ba4276d131d4e5201d73bcb988654cd82d3b922;p=thirdparty%2Fhaproxy.git BUG/MINOR: quic: Missing cases treatement when updating ACK ranges Let's say that we have to insert a range R between to others A and B with A->first <= R->first <= B->first. We have to remove the ranges which are overlapsed by R during. This was correctly done when the intersection between A and R was not empty, but not when the intersection between R and B was not empty. If this latter case after having inserting a new range R we set variable as the node to consider to check the overlaping between R and its following ranges. --- diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 847f4d30da..0337558693 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -2341,6 +2341,8 @@ int quic_update_ack_ranges_list(struct quic_arngs *arngs, new_node = quic_insert_new_range(arngs, ar); if (!new_node) return 0; + + new = &new_node->first; } }