aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2020-04-20 18:32:46 +0300
committerVladimir Homutov <vl@nginx.com>2020-04-20 18:32:46 +0300
commitf5036584840df54c066af8452fcc75b6af7ded97 (patch)
tree47194d79b1a5209675583ef154c63e8bc6294ccd /src
parent10bda6e11b91fe67c4489ab5e0347355fa6091cb (diff)
downloadnginx-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.c3
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;