diff options
author | Vladimir Homutov <vl@nginx.com> | 2020-04-20 18:32:46 +0300 |
---|---|---|
committer | Vladimir Homutov <vl@nginx.com> | 2020-04-20 18:32:46 +0300 |
commit | f5036584840df54c066af8452fcc75b6af7ded97 (patch) | |
tree | 47194d79b1a5209675583ef154c63e8bc6294ccd /src | |
parent | 10bda6e11b91fe67c4489ab5e0347355fa6091cb (diff) | |
download | nginx-f5036584840df54c066af8452fcc75b6af7ded97.tar.gz nginx-f5036584840df54c066af8452fcc75b6af7ded97.zip |
Fixed memory leak with reordered stream frames.
Diffstat (limited to 'src')
-rw-r--r-- | src/event/ngx_event_quic.c | 3 |
1 files changed, 1 insertions, 2 deletions
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; |