BUG/MINOR: quic: Missing tasklet (quic_cc_conn_io_cb) memory release (leak)

The tasklet responsible of handling the remaining QUIC connection object
and its traffic was not released, leading to a memory leak. Furthermore its
callback, quic_cc_conn_io_cb(), should return NULL after this tasklet is
released.
This commit is contained in:
Frédéric Lécaille 2023-08-11 11:32:10 +02:00
parent b0e32c6263
commit d355bce7e4

View File

@ -766,6 +766,7 @@ static void quic_release_cc_conn(struct quic_cc_conn *cc_qc)
task_destroy(cc_qc->idle_timer_task);
cc_qc->idle_timer_task = NULL;
tasklet_free(qc->wait_event.tasklet);
free_quic_conn_cids(qc);
pool_free(pool_head_quic_cids, cc_qc->cids);
cc_qc->cids = NULL;
@ -806,6 +807,7 @@ static struct task *quic_cc_conn_io_cb(struct task *t, void *context, unsigned i
quic_release_cc_conn(cc_qc);
cc_qc = NULL;
qc = NULL;
t = NULL;
goto leave;
}