bus: Prevent gst_bus_add_watch_full_unlocked from a segfault if priv->poll == NULL
authorJames Stevenson <james@stev.org>
Thu, 25 Feb 2016 22:36:14 +0000 (22:36 +0000)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 26 Feb 2016 10:11:30 +0000 (12:11 +0200)
This happens if the process runs out of file descriptors. Better print
a critical warning instead of just crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=762702

gst/gstbus.c

index 237507f..d24a935 100644 (file)
@@ -892,6 +892,10 @@ gst_bus_add_watch_full_unlocked (GstBus * bus, gint priority,
   }
 
   source = gst_bus_create_watch (bus);
+  if (!source) {
+    g_critical ("Creating bus watch failed");
+    return 0;
+  }
 
   if (priority != G_PRIORITY_DEFAULT)
     g_source_set_priority (source, priority);