summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Bouron <matthieu.bouron@collabora.com>2015-02-14 12:15:03 +0100
committerTim-Philipp Müller <tim@centricular.com>2015-02-15 17:35:35 +0000
commitee9ca5d48b9c0f0e8b5714a0d08b8915e85e8572 (patch)
treec688a226d3d5efea142316c0c62244580d5bd655
parent025c8343f23eeafd4369cb557539c93127b3e526 (diff)
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
-rw-r--r--gst/gstutils.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gst/gstutils.c b/gst/gstutils.c
index 27219c807..f09a5ae8b 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);