Mercurial > hg > nginx
changeset 8575:2b11bd029815 quic
QUIC: fixed memory leak in ngx_quic_send_frames().
The function did not free passed frames in case of error.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Wed, 07 Oct 2020 10:14:02 +0300 |
parents | 1d4417e4f2d0 |
children | eacca87c476e |
files | src/event/ngx_event_quic.c |
diffstat | 1 files changed, 3 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/event/ngx_event_quic.c Tue Oct 06 18:08:55 2020 +0100 +++ b/src/event/ngx_event_quic.c Wed Oct 07 10:14:02 2020 +0300 @@ -3839,6 +3839,7 @@ len = ngx_quic_create_frame(p, f); if (len == -1) { + ngx_quic_free_frames(c, frames); return NGX_ERROR; } @@ -3897,11 +3898,13 @@ pkt.num_len, pkt.trunc); if (ngx_quic_encrypt(&pkt, ssl_conn, &res) != NGX_OK) { + ngx_quic_free_frames(c, frames); return NGX_ERROR; } len = c->send(c, res.data, res.len); if (len == NGX_ERROR || (size_t) len != res.len) { + ngx_quic_free_frames(c, frames); return NGX_ERROR; }