diff --git a/src/quic_tx.c b/src/quic_tx.c index 960b62503..8a3c1bddf 100644 --- a/src/quic_tx.c +++ b/src/quic_tx.c @@ -610,7 +610,8 @@ static int qc_prep_pkts(struct quic_conn *qc, struct buffer *buf, /* If there was already a correct packet present, set the * current datagram as prepared into . */ - if (prv_pkt) + if (first_pkt && (first_pkt->type != QUIC_PACKET_TYPE_INITIAL || + dglen >= QUIC_INITIAL_PACKET_MINLEN)) qc_txb_store(buf, dglen, first_pkt); TRACE_PROTO("could not prepare anymore packet", QUIC_EV_CONN_PHPKTS, qc, qel); goto out;