[FFmpeg-devel] [PATCH V1 2/4] lavfi/sinc: fix memory leak in error handling path

Jun Zhao mypopydev at gmail.com
Tue Sep 10 14:39:26 EEST 2019


From: Jun Zhao <barryjzhao at tencent.com>

free work&pi_wraps in error handling path to avoid memory leak.

Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
---
 libavfilter/asrc_sinc.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/libavfilter/asrc_sinc.c b/libavfilter/asrc_sinc.c
index 0135eb9..90f043d 100644
--- a/libavfilter/asrc_sinc.c
+++ b/libavfilter/asrc_sinc.c
@@ -239,8 +239,11 @@ static int fir_to_phase(SincContext *s, float **h, int *len, int *post_len, floa
     s->rdft = s->irdft = NULL;
     s->rdft  = av_rdft_init(av_log2(work_len), DFT_R2C);
     s->irdft = av_rdft_init(av_log2(work_len), IDFT_C2R);
-    if (!s->rdft || !s->irdft)
+    if (!s->rdft || !s->irdft) {
+        av_free(pi_wraps);
+        av_free(work);
         return AVERROR(ENOMEM);
+    }
 
     av_rdft_calc(s->rdft, work);   /* Cepstral: */
     UNPACK(work, work_len);
-- 
1.7.1



More information about the ffmpeg-devel mailing list