# HG changeset patch # User Vladimir Homutov # Date 1587396766 -10800 # Node ID d42b50d239f41bc0923e7052b3231b489ff8e59d # Parent a5141e6b321473451629194c24ffda11980486ac Fixed memory leak with reordered stream frames. diff --git a/src/event/ngx_event_quic.c b/src/event/ngx_event_quic.c --- a/src/event/ngx_event_quic.c +++ b/src/event/ngx_event_quic.c @@ -2779,14 +2779,13 @@ ngx_quic_stream_cleanup_handler(void *da 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;