diff options
-rw-r--r-- | gst/mpegdemux/gstsectionfilter.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gst/mpegdemux/gstsectionfilter.c b/gst/mpegdemux/gstsectionfilter.c index 7749c7e7c..e06d76234 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; } |