From 814daac5bae1e7e3a67cd7ed727bd1fe6b9a3889 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 18 Jan 2010 11:05:15 +0100 Subject: decoder/ffmpeg: free AVFormatContext on error Fix a memory leak in some code paths. --- src/decoder/ffmpeg_plugin.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/decoder') diff --git a/src/decoder/ffmpeg_plugin.c b/src/decoder/ffmpeg_plugin.c index 2a46601f4..2e06c13f8 100644 --- a/src/decoder/ffmpeg_plugin.c +++ b/src/decoder/ffmpeg_plugin.c @@ -192,12 +192,14 @@ ffmpeg_helper(const char *uri, struct input_stream *input, if (av_find_stream_info(format_context)<0) { g_warning("Couldn't find stream info\n"); + av_close_input_file(format_context); return false; } audio_stream = ffmpeg_find_audio_stream(format_context); if (audio_stream == -1) { g_warning("No audio stream inside\n"); + av_close_input_file(format_context); return false; } @@ -209,11 +211,13 @@ ffmpeg_helper(const char *uri, struct input_stream *input, if (!codec) { g_warning("Unsupported audio codec\n"); + av_close_input_file(format_context); return false; } if (avcodec_open(codec_context, codec)<0) { g_warning("Could not open codec\n"); + av_close_input_file(format_context); return false; } -- cgit v1.2.3