[FFmpeg-cvslog] avfilter/af_compand: do not leak frames on error

Paul B Mahol git at videolan.org
Sat Feb 15 12:40:46 CET 2014


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sat Feb 15 11:38:32 2014 +0000| [709746b6affb5c87aee0c3b8ddb0a078453c6162] | committer: Paul B Mahol

avfilter/af_compand: do not leak frames on error

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

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

 libavfilter/af_compand.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavfilter/af_compand.c b/libavfilter/af_compand.c
index ec1e962..a2f2bb7 100644
--- a/libavfilter/af_compand.c
+++ b/libavfilter/af_compand.c
@@ -184,8 +184,10 @@ static int compand_nodelay(AVFilterContext *ctx, AVFrame *frame)
         out_frame = frame;
     } else {
         out_frame = ff_get_audio_buffer(inlink, nb_samples);
-        if (!out_frame)
+        if (!out_frame) {
+            av_frame_free(&frame);
             return AVERROR(ENOMEM);
+        }
         av_frame_copy_props(out_frame, frame);
     }
 
@@ -235,8 +237,10 @@ static int compand_delay(AVFilterContext *ctx, AVFrame *frame)
             if (count >= s->delay_samples) {
                 if (!out_frame) {
                     out_frame = ff_get_audio_buffer(inlink, nb_samples - i);
-                    if (!out_frame)
+                    if (!out_frame) {
+                        av_frame_free(&frame);
                         return AVERROR(ENOMEM);
+                    }
                     av_frame_copy_props(out_frame, frame);
                     out_frame->pts = s->pts;
                     s->pts += av_rescale_q(nb_samples - i, (AVRational){1, inlink->sample_rate}, inlink->time_base);



More information about the ffmpeg-cvslog mailing list