diff options
author | Paul B Mahol <onemda@gmail.com> | 2018-11-08 21:34:49 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2018-11-08 21:34:49 +0100 |
commit | 698e67bef2ee76f317193e27f354c129b241332c (patch) | |
tree | b0f5d7d06423e81cd11c2b8b57597bb4f4181e2d | |
parent | 70463b702697ef8be4ec4d88969b4fce5b4e7a7e (diff) | |
download | ffmpeg-698e67bef2ee76f317193e27f354c129b241332c.tar.gz |
avfilter/af_afir: do not leak frame and clear pointer to freed frame
-rw-r--r-- | libavfilter/af_afir.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c index 6692dc768d..624eab093f 100644 --- a/libavfilter/af_afir.c +++ b/libavfilter/af_afir.c @@ -126,8 +126,10 @@ static int fir_frame(AudioFIRContext *s, AVFrame *in, AVFilterLink *outlink) if (!s->want_skip) { out = ff_get_audio_buffer(outlink, s->nb_samples); - if (!out) + if (!out) { + av_frame_free(&in); return AVERROR(ENOMEM); + } } if (s->pts == AV_NOPTS_VALUE) @@ -148,6 +150,7 @@ static int fir_frame(AudioFIRContext *s, AVFrame *in, AVFilterLink *outlink) s->index = 0; av_frame_free(&in); + s->in[0] = NULL; if (s->want_skip == 1) { s->want_skip = 0; |