dashdemux: Fix leak in gst_dash_demux_stream_update_fragment_info()

The gst_dash_demux_stream_update_fragment_info function could call
gst_dash_demux_stream_update_headers_info function twice. The
gst_dash_demux_stream_update_headers_info function will set header_uri and
index_uri to some newly allocated strings. The values set by the first call of
gst_dash_demux_stream_update_headers_info will leak when the function is
called for a second time.

The solution is to call gst_adaptive_demux_stream_fragment_clear before the
second call of gst_dash_demux_stream_update_headers_info

https://bugzilla.gnome.org/show_bug.cgi?id=753188
This commit is contained in:
Florin Apostol 2015-08-03 16:57:31 +01:00 committed by Sebastian Dröge
parent 3757e507f3
commit 93c10d3f0e

View file

@ -912,6 +912,7 @@ gst_dash_demux_stream_update_fragment_info (GstAdaptiveDemuxStream * stream)
if (gst_mpd_client_get_next_fragment_timestamp (dashdemux->client, if (gst_mpd_client_get_next_fragment_timestamp (dashdemux->client,
dashstream->index, &ts)) { dashstream->index, &ts)) {
if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream)) { if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream)) {
gst_adaptive_demux_stream_fragment_clear (&stream->fragment);
gst_dash_demux_stream_update_headers_info (stream); gst_dash_demux_stream_update_headers_info (stream);
} }