From: Amaury Denoyelle Date: Thu, 21 Nov 2024 09:24:34 +0000 (+0100) Subject: BUG/MINOR: cfgparse-quic: fix bbr initialization X-Git-Tag: v3.1-dev14~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b23c9075ce3d16e020c574b5e0a229222c136fe;p=thirdparty%2Fhaproxy.git BUG/MINOR: cfgparse-quic: fix bbr initialization To support pacing with cubic, a recent change was introduced to render quic_cc_algo on bind line dynamically allocated, instead of pointing to a globally defined variable. This allows customization of the algorithm callbacks per bind line. This was not correctly used for BBR as it was set to point to the global quic_cc_algo_bbr. This causes a segfault on haproxy process closing. Fix this by properly initializing BBR as other algorithms. This should fix coverity report from github issue #2786. --- diff --git a/src/cfgparse-quic.c b/src/cfgparse-quic.c index 9db2a591da..3729bee7c9 100644 --- a/src/cfgparse-quic.c +++ b/src/cfgparse-quic.c @@ -151,7 +151,7 @@ static int bind_parse_quic_cc_algo(char **args, int cur_arg, struct proxy *px, /* bbr */ algo = QUIC_CC_BBR_STR; - cc_algo = &quic_cc_algo_bbr; + *cc_algo = quic_cc_algo_bbr; arg += strlen(QUIC_CC_BBR_STR); } else if (strncmp(arg, QUIC_CC_NO_CC_STR, strlen(QUIC_CC_NO_CC_STR)) == 0) {