Store in_flight flag in a local variable for later use, as apkt->on_acked()
may free apkt.
Fixes: 427a02ad0a71 "QUIC ACKM: Don't record non-inflight packets in CC"
Signed-off-by: Loganaden Velvindron <logan@cyberstorm.mu>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Sun Jun 21 13:55:08 2026
(Merged from https://github.com/openssl/openssl/pull/31447)
const OSSL_ACKM_TX_PKT *anext;
QUIC_PN last_pn_acked = 0;
OSSL_CC_ACK_INFO ainfo = { 0 };
+ unsigned int is_inflight;
for (; apkt != NULL; apkt = anext) {
if (apkt->is_inflight) {
ainfo.tx_time = apkt->time;
ainfo.tx_size = apkt->num_bytes;
+ is_inflight = apkt->is_inflight;
anext = apkt->anext;
apkt->on_acked(apkt->cb_arg); /* may free apkt */
- if (apkt->is_inflight)
+ if (is_inflight)
ackm->cc_method->on_data_acked(ackm->cc_data, &ainfo);
}
}