[FFmpeg-cvslog] avfilter/af_afftfilt: fix memory leaks on error

Paul B Mahol git at videolan.org
Sun Feb 9 16:51:11 EET 2020


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sun Feb  9 15:49:09 2020 +0100| [53a485cd374edff1f0701310af47bf0fd3dd3c0e] | committer: Paul B Mahol

avfilter/af_afftfilt: fix memory leaks on error

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=53a485cd374edff1f0701310af47bf0fd3dd3c0e
---

 libavfilter/af_afftfilt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavfilter/af_afftfilt.c b/libavfilter/af_afftfilt.c
index a14dd280e0..a6156bf852 100644
--- a/libavfilter/af_afftfilt.c
+++ b/libavfilter/af_afftfilt.c
@@ -40,6 +40,7 @@ typedef struct AFFTFiltContext {
     FFTComplex **fft_data;
     FFTComplex **fft_temp;
     int nb_exprs;
+    int channels;
     int window_size;
     AVExpr **real;
     AVExpr **imag;
@@ -129,6 +130,7 @@ static int config_input(AVFilterLink *inlink)
     char *args;
     const char *last_expr = "1";
 
+    s->channels = inlink->channels;
     s->pts  = AV_NOPTS_VALUE;
     s->fft_bits = av_log2(s->fft_size);
     s->fft  = av_fft_init(s->fft_bits, 0);
@@ -435,7 +437,7 @@ static av_cold void uninit(AVFilterContext *ctx)
     av_fft_end(s->fft);
     av_fft_end(s->ifft);
 
-    for (i = 0; i < s->nb_exprs; i++) {
+    for (i = 0; i < s->channels; i++) {
         if (s->fft_data)
             av_freep(&s->fft_data[i]);
         if (s->fft_temp)



More information about the ffmpeg-cvslog mailing list