diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c index f3b76b3ee..9bc7aab09 100644 --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -2779,14 +2779,13 @@ ngx_quic_stream_cleanup_handler(void *data) ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, "quic stream cleanup"); ngx_rbtree_delete(&qc->streams.tree, &qs->node); + ngx_quic_free_frames(pc, &qs->fs.frames); if (qc->closing) { ngx_post_event(pc->read, &ngx_posted_events); return; } - ngx_quic_free_frames(pc, &qs->fs.frames); - if ((qs->id & 0x03) == NGX_QUIC_STREAM_UNIDIRECTIONAL) { /* do not send fin for client unidirectional streams */ return;