From 38dd0f6410fc170035194eaee2e520e88cf42adc Mon Sep 17 00:00:00 2001 From: vanista Date: Sat, 28 Feb 2009 19:41:10 +0100 Subject: mpegtsdemux: Fix memory leaks when PUSI is missed due to packet loss Fixes bug #573288. --- gst/mpegdemux/gstsectionfilter.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gst/mpegdemux/gstsectionfilter.c b/gst/mpegdemux/gstsectionfilter.c index 7749c7e7..e06d7623 100644 --- a/gst/mpegdemux/gstsectionfilter.c +++ b/gst/mpegdemux/gstsectionfilter.c @@ -137,7 +137,7 @@ gst_section_filter_push (GstSectionFilter * filter, gboolean pusi, /* deter filter->section_length &= 0x0fff; if (filter->section_length > 1021) { GST_DEBUG ("section length too big"); - return FALSE; + goto failure; } gst_adapter_push (filter->adapter, buf); filter->last_continuity_counter = continuity_counter; @@ -156,6 +156,9 @@ gst_section_filter_push (GstSectionFilter * filter, gboolean pusi, /* deter "new continuity counter but not pusi: %d", filter->last_continuity_counter, continuity_counter); gst_section_filter_clear (filter); - return FALSE; + goto failure; } +failure: + gst_buffer_unref (buf); + return FALSE; } -- cgit v1.2.1