[FFmpeg-cvslog] avformat/mpeg: fix memleak of sub_name on error

Michael Niedermayer git at videolan.org
Sun Nov 16 19:37:00 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Nov 16 19:17:34 2014 +0100| [51ddaf65496bc8a7d3f62cafec5c08dc4e55909f] | committer: Michael Niedermayer

avformat/mpeg: fix memleak of sub_name on error

Fixes CID1254666

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/mpeg.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index e8e1b08..827a3c2 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -697,12 +697,16 @@ static int vobsub_read_header(AVFormatContext *s)
     memcpy(ext, !strncmp(ext, "IDX", 3) ? "SUB" : "sub", 3);
     av_log(s, AV_LOG_VERBOSE, "IDX/SUB: %s -> %s\n", s->filename, sub_name);
 
-    if (!(iformat = av_find_input_format("mpeg")))
-        return AVERROR_DEMUXER_NOT_FOUND;
+    if (!(iformat = av_find_input_format("mpeg"))) {
+        ret = AVERROR_DEMUXER_NOT_FOUND;
+        goto end;
+    }
 
     vobsub->sub_ctx = avformat_alloc_context();
-    if (!vobsub->sub_ctx)
-        return AVERROR(ENOMEM);
+    if (!vobsub->sub_ctx) {
+        ret = AVERROR(ENOMEM);
+        goto end;
+    }
 
     if ((ret = ff_copy_whitelists(vobsub->sub_ctx, s)) < 0)
         goto end;



More information about the ffmpeg-cvslog mailing list