ffmpeg | branch: master | Michael Niedermayer <mich...@niedermayer.cc> | Sat May 28 00:40:46 2016 +0200| [f66ca036bca1678786322c35bc4853ecd0a7d9eb] | committer: Michael Niedermayer
avformat/oggparseflac: Fix memleaks in old_flac_header() Fixes CID1361953 Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f66ca036bca1678786322c35bc4853ecd0a7d9eb --- libavformat/oggparseflac.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libavformat/oggparseflac.c b/libavformat/oggparseflac.c index f08d07d..b5f1416 100644 --- a/libavformat/oggparseflac.c +++ b/libavformat/oggparseflac.c @@ -95,12 +95,14 @@ old_flac_header (AVFormatContext * s, int idx) st->codecpar->codec_id = AV_CODEC_ID_FLAC; avctx = avcodec_alloc_context3(NULL); - if (!avctx) - return -1; + if (!avctx) { + ret = AVERROR(ENOMEM); + goto fail; + } ret = avcodec_parameters_to_context(avctx, st->codecpar); if (ret < 0) - return -1; + goto fail; parser->flags = PARSER_FLAG_COMPLETE_FRAMES; av_parser_parse2(parser, avctx, @@ -117,6 +119,10 @@ old_flac_header (AVFormatContext * s, int idx) avcodec_free_context(&avctx); return 1; +fail: + av_parser_close(parser); + avcodec_free_context(&avctx); + return ret; } const struct ogg_codec ff_flac_codec = { _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog