From 004779cc59ae6b649e20aa260cd4a4d2e1f4bc48 Mon Sep 17 00:00:00 2001
From: Matt Wolenetz <wolenetz@chromium.org>
Date: Mon, 6 May 2013 14:44:17 -0700
Subject: [PATCH] avcodec/utils: Fix leak by dereferencing audio frame when
 side data causes whole frame skip

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
---
 libavcodec/utils.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 4136d9fda27..f4aeb19aef2 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2104,6 +2104,8 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
             if(frame->nb_samples <= avctx->internal->skip_samples){
                 *got_frame_ptr = 0;
                 avctx->internal->skip_samples -= frame->nb_samples;
+                if (avctx->refcounted_frames)
+                    av_frame_unref(frame);
                 av_log(avctx, AV_LOG_DEBUG, "skip whole frame, skip left: %d\n",
                        avctx->internal->skip_samples);
             } else {
-- 
GitLab