From ee9ca5d48b9c0f0e8b5714a0d08b8915e85e8572 Mon Sep 17 00:00:00 2001 From: Matthieu Bouron Date: Sat, 14 Feb 2015 12:15:03 +0100 Subject: [PATCH] gstutils: check uri before using it in gst_pad_create_stream_id_internal If an element implements wrongly the URI query and set the uri to NULL and if the element calls gst_pad_create_stream_id at some point, it will lead to crash as the uri is not supposed to be NULL in the gst_pad_create_stream_id_internal function. https://bugzilla.gnome.org/show_bug.cgi?id=744520 --- gst/gstutils.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gst/gstutils.c b/gst/gstutils.c index 27219c8..f09a5ae 100644 --- a/gst/gstutils.c +++ b/gst/gstutils.c @@ -3675,15 +3675,17 @@ gst_pad_create_stream_id_internal (GstPad * pad, GstElement * parent, * here is for source elements */ if (!upstream_stream_id) { GstQuery *query; + gchar *uri = NULL; /* Try to generate one from the URI query and * if it fails take a random number instead */ query = gst_query_new_uri (); if (gst_element_query (parent, query)) { - GChecksum *cs; - gchar *uri; - gst_query_parse_uri (query, &uri); + } + + if (uri) { + GChecksum *cs; /* And then generate an SHA256 sum of the URI */ cs = g_checksum_new (G_CHECKSUM_SHA256); -- 2.7.4