ffmpeg | branch: master | Paul B Mahol <one...@gmail.com> | Wed Apr 13 18:18:49 
2022 +0200| [24144af2dd75c426d6d291f81e8e9206969b805b] | committer: Paul B Mahol

avfilter/avf_showvolume: check for allocation error and stop leaks

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

 libavfilter/avf_showvolume.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavfilter/avf_showvolume.c b/libavfilter/avf_showvolume.c
index 1c072a16a6..eb79a5ebdb 100644
--- a/libavfilter/avf_showvolume.c
+++ b/libavfilter/avf_showvolume.c
@@ -190,6 +190,9 @@ static int config_input(AVFilterLink *inlink)
         s->persistent_max_frames = (int) FFMAX(av_q2d(s->frame_rate) * 
s->draw_persistent_duration, 1.);
         s->max_persistent = av_calloc(inlink->ch_layout.nb_channels * 
s->persistent_max_frames, sizeof(*s->max_persistent));
         s->nb_frames_max_display = av_calloc(inlink->ch_layout.nb_channels * 
s->persistent_max_frames, sizeof(*s->nb_frames_max_display));
+        if (!s->max_persistent ||
+            !s->nb_frames_max_display)
+            return AVERROR(ENOMEM);
     }
     return 0;
 }
@@ -479,6 +482,8 @@ static av_cold void uninit(AVFilterContext *ctx)
     av_freep(&s->values);
     av_freep(&s->color_lut);
     av_freep(&s->max);
+    av_freep(&s->max_persistent);
+    av_freep(&s->nb_frames_max_display);
 }
 
 static const AVFilterPad showvolume_inputs[] = {

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to