[FFmpeg-cvslog] Fix memory leaks on failed ff_h264_decode_init()

Dale Curtis git at videolan.org
Wed Apr 11 20:59:59 CEST 2012


ffmpeg | branch: master | Dale Curtis <dalecurtis at chromium.org> | Tue Apr 10 11:31:03 2012 -0700| [309a931a38b42c0a635f096cdbea9c21c5e54eab] | committer: Michael Niedermayer

Fix memory leaks on failed ff_h264_decode_init()

During failure conditions ff_h264_decode_init() leaks memory
allocated for nal units.  Found via valgrind.

Valgrind traces: http://pastebin.com/GqTqxs8T

Signed-off-by: Dale Curtis <dalecurtis at chromium.org>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/h264.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index b909600..2903cf9 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1251,8 +1251,10 @@ av_cold int ff_h264_decode_init(AVCodecContext *avctx)
     }
 
     if (avctx->extradata_size > 0 && avctx->extradata &&
-        ff_h264_decode_extradata(h, avctx->extradata, avctx->extradata_size) < 0)
+        ff_h264_decode_extradata(h, avctx->extradata, avctx->extradata_size) < 0) {
+        ff_h264_free_context(h);
         return -1;
+    }
 
     if (h->sps.bitstream_restriction_flag &&
         s->avctx->has_b_frames < h->sps.num_reorder_frames) {



More information about the ffmpeg-cvslog mailing list