[FFmpeg-cvslog] avformat/oggparseflac: Fix memleaks in old_flac_header()
Michael Niedermayer
git at videolan.org
Sat May 28 01:49:17 CEST 2016
ffmpeg | branch: master | Michael Niedermayer <michael at 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 <michael at 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 = {
More information about the ffmpeg-cvslog
mailing list