[FFmpeg-cvslog] avfilter/af_dynaudnorm: fix possible null pointer dereference

Paul B Mahol git at videolan.org
Thu Jan 14 14:31:57 CET 2016


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Thu Jan 14 14:27:01 2016 +0100| [70df51112ccc8d281cdb96141f20b3fd8a5b11f8] | committer: Paul B Mahol

avfilter/af_dynaudnorm: fix possible null pointer dereference

Signed-off-by: Paul B Mahol <onemda at gmail.com>

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

 libavfilter/af_dynaudnorm.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/libavfilter/af_dynaudnorm.c b/libavfilter/af_dynaudnorm.c
index 1a5fc48..d0bb51d 100644
--- a/libavfilter/af_dynaudnorm.c
+++ b/libavfilter/af_dynaudnorm.c
@@ -173,7 +173,8 @@ static cqueue *cqueue_create(int size)
 
 static void cqueue_free(cqueue *q)
 {
-    av_free(q->elements);
+    if (q)
+        av_free(q->elements);
     av_free(q);
 }
 
@@ -684,9 +685,12 @@ static av_cold void uninit(AVFilterContext *ctx)
     av_freep(&s->fade_factors[1]);
 
     for (c = 0; c < s->channels; c++) {
-        cqueue_free(s->gain_history_original[c]);
-        cqueue_free(s->gain_history_minimum[c]);
-        cqueue_free(s->gain_history_smoothed[c]);
+        if (s->gain_history_original)
+            cqueue_free(s->gain_history_original[c]);
+        if (s->gain_history_minimum)
+            cqueue_free(s->gain_history_minimum[c]);
+        if (s->gain_history_smoothed)
+            cqueue_free(s->gain_history_smoothed[c]);
     }
 
     av_freep(&s->gain_history_original);



More information about the ffmpeg-cvslog mailing list