1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avfilter/f_reverse: fix memory leaks

Fixes #8283
This commit is contained in:
Paul B Mahol 2019-10-16 16:27:06 +02:00
parent b0bfa3699c
commit 1a0c584abc

View File

@ -58,6 +58,11 @@ static av_cold void uninit(AVFilterContext *ctx)
{ {
ReverseContext *s = ctx->priv; 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->pts);
av_freep(&s->frames); av_freep(&s->frames);
} }
@ -103,6 +108,7 @@ static int request_frame(AVFilterLink *outlink)
AVFrame *out = s->frames[s->nb_frames - 1]; AVFrame *out = s->frames[s->nb_frames - 1];
out->pts = s->pts[s->flush_idx++]; out->pts = s->pts[s->flush_idx++];
ret = ff_filter_frame(outlink, out); ret = ff_filter_frame(outlink, out);
s->frames[s->nb_frames - 1] = NULL;
s->nb_frames--; s->nb_frames--;
} }
@ -262,6 +268,7 @@ static int areverse_request_frame(AVFilterLink *outlink)
else else
reverse_samples_packed(out); reverse_samples_packed(out);
ret = ff_filter_frame(outlink, out); ret = ff_filter_frame(outlink, out);
s->frames[s->nb_frames - 1] = NULL;
s->nb_frames--; s->nb_frames--;
} }