[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