playbin3: Fix accessing invalid index in GstStream when received select-stream event

If select-stream event was send to playbin3 as missing any GstStream of ES type
(V or A or TEX) of collection then, playbin will access to invalid address of
GstStream due to invalid index limit. This caused SIGSEGV.

https://bugzilla.gnome.org/show_bug.cgi?id=791638
This commit is contained in:
Dongil Park 2017-12-15 10:50:44 +09:00 committed by Edward Hervey
parent ae3fc49eaf
commit a8a5905ec6

View file

@ -2225,7 +2225,7 @@ get_combiner_stream_id (GstPlayBin3 * playbin, GstSourceCombine * combine,
gint i; gint i;
GList *tmp; GList *tmp;
for (i = 0; combine->streams->len; i++) { for (i = 0; i < combine->streams->len; i++) {
GstStream *stream = (GstStream *) g_ptr_array_index (combine->streams, i); GstStream *stream = (GstStream *) g_ptr_array_index (combine->streams, i);
const gchar *sid = gst_stream_get_stream_id (stream); const gchar *sid = gst_stream_get_stream_id (stream);
for (tmp = full_list; tmp; tmp = tmp->next) { for (tmp = full_list; tmp; tmp = tmp->next) {