From: Olivier Houchard Date: Sun, 14 Dec 2025 15:10:21 +0000 (+0100) Subject: BUG/MEDIUM: quic: Don't try to use hystart if not implemented X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a08bc468d2c7c4bb7df84c2408d48a82f01220a0;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: quic: Don't try to use hystart if not implemented Not every CC algos implement hystart, so only call the method if it is actually there. Failure to do so will cause crashes if hystart is on, and the algo doesn't implement it. This should fix github issue #3218 This should be backported up to 3.0. --- diff --git a/src/quic_tx.c b/src/quic_tx.c index 7f5647e81..ac331ae94 100644 --- a/src/quic_tx.c +++ b/src/quic_tx.c @@ -439,7 +439,8 @@ static int qc_send_ppkts(struct buffer *buf, struct quic_conn *qc) } qc->path->in_flight += pkt->in_flight_len; pkt->pktns->tx.in_flight += pkt->in_flight_len; - if (quic_tune_test(QUIC_TUNE_FB_CC_HYSTART, qc) && pkt->pktns == qc->apktns) + if (quic_tune_test(QUIC_TUNE_FB_CC_HYSTART, qc) && pkt->pktns == qc->apktns && + cc->algo->hystart_start_round != NULL) cc->algo->hystart_start_round(cc, pkt->pn_node.key); if (pkt->in_flight_len) qc_set_timer(qc);