]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: quic: Missing cases treatement when updating ACK ranges
authorFrédéric Lécaille <flecaille@haproxy.com>
Wed, 2 Jun 2021 15:40:09 +0000 (17:40 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 23 Sep 2021 13:27:25 +0000 (15:27 +0200)
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 <new> variable as the
node to consider to check the overlaping between R and its following
ranges.

src/xprt_quic.c

index 847f4d30da6a529ebd727080770542d9008df0d5..0337558693b60e77d4180adf5cf5f8880fbc9754 100644 (file)
@@ -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;
                }
        }