changeset 8348:d42b50d239f4 quic

Fixed memory leak with reordered stream frames.
author Vladimir Homutov <vl@nginx.com>
date Mon, 20 Apr 2020 18:32:46 +0300
parents a5141e6b3214
children b13176e717ba
files src/event/ngx_event_quic.c
diffstat 1 files changed, 1 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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;