From a08bc468d2c7c4bb7df84c2408d48a82f01220a0 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Sun, 14 Dec 2025 16:10:21 +0100 Subject: [PATCH] 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. --- src/quic_tx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 2.47.3