From 175272cb076072b674f15033e9db832c6282595c Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Tue, 23 Nov 2010 01:04:49 +0000 Subject: [PATCH] 10l, fix memleak, forgot to free mp4_dec_config_descr Originally committed as revision 25807 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mpegts.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index bceef6f210..172f80f776 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -956,7 +956,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len } p += program_info_length; if (p >= p_end) - return; + goto out; // stop parsing after pmt, we found header if (!ts->stream->nb_streams) @@ -983,7 +983,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len } if (!st) - return; + goto out; if (!pes->stream_type) mpegts_set_stream_info(st, pes, stream_type, prog_reg_desc); @@ -1082,8 +1082,11 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len } p = desc_list_end; } + /* all parameters are there */ mpegts_close_filter(ts, filter); + out: + av_free(mp4_dec_config_descr); } static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len)