[FFmpeg-cvslog] avfilter/f_reverse: fix memory leaks
Paul B Mahol
git at videolan.org
Wed Oct 16 17:28:45 EEST 2019
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Wed Oct 16 16:27:06 2019 +0200| [1a0c584abc9709b1d11dbafef05d22e0937d7d19] | committer: Paul B Mahol
avfilter/f_reverse: fix memory leaks
Fixes #8283
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1a0c584abc9709b1d11dbafef05d22e0937d7d19
---
libavfilter/f_reverse.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libavfilter/f_reverse.c b/libavfilter/f_reverse.c
index 5f27927075..1e27264dd6 100644
--- a/libavfilter/f_reverse.c
+++ b/libavfilter/f_reverse.c
@@ -58,6 +58,11 @@ static av_cold void uninit(AVFilterContext *ctx)
{
ReverseContext *s = ctx->priv;
+ while (s->nb_frames > 0) {
+ av_frame_free(&s->frames[s->nb_frames - 1]);
+ s->nb_frames--;
+ }
+
av_freep(&s->pts);
av_freep(&s->frames);
}
@@ -103,6 +108,7 @@ static int request_frame(AVFilterLink *outlink)
AVFrame *out = s->frames[s->nb_frames - 1];
out->pts = s->pts[s->flush_idx++];
ret = ff_filter_frame(outlink, out);
+ s->frames[s->nb_frames - 1] = NULL;
s->nb_frames--;
}
@@ -262,6 +268,7 @@ static int areverse_request_frame(AVFilterLink *outlink)
else
reverse_samples_packed(out);
ret = ff_filter_frame(outlink, out);
+ s->frames[s->nb_frames - 1] = NULL;
s->nb_frames--;
}
More information about the ffmpeg-cvslog
mailing list