[FFmpeg-cvslog] avcodec/h264: Fix memleak in case of ff_h264_decode_extradata() failure
Michael Niedermayer
git at videolan.org
Thu Jan 28 04:15:54 CET 2016
ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Thu Jan 28 03:18:20 2016 +0100| [e0b187e7dada3a412c942d2e07f6caed8614b8ef] | committer: Michael Niedermayer
avcodec/h264: Fix memleak in case of ff_h264_decode_extradata() failure
Fixes Ticket5139
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e0b187e7dada3a412c942d2e07f6caed8614b8ef
---
libavcodec/h264.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 2361660..28b14cd 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -52,6 +52,8 @@
#include "thread.h"
#include "vdpau_compat.h"
+static int h264_decode_end(AVCodecContext *avctx);
+
const uint16_t ff_h264_mb_sizes[4] = { 256, 384, 512, 768 };
int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx)
@@ -679,7 +681,7 @@ av_cold int ff_h264_decode_init(AVCodecContext *avctx)
if (avctx->extradata_size > 0 && avctx->extradata) {
ret = ff_h264_decode_extradata(h, avctx->extradata, avctx->extradata_size);
if (ret < 0) {
- ff_h264_free_context(h);
+ h264_decode_end(avctx);
return ret;
}
}
More information about the ffmpeg-cvslog
mailing list