discoverer: Check return values
authorEdward Hervey <edward@centricular.com>
Thu, 2 Nov 2017 07:04:27 +0000 (08:04 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 2 Nov 2017 07:04:27 +0000 (08:04 +0100)
The target pad of a ghostpad could have gone (due to shutdown taking
place for example). Check for it's existence before doing anything
with it.

gst-libs/gst/pbutils/gstdiscoverer.c

index 0c09837..78b1399 100644 (file)
@@ -1076,6 +1076,8 @@ find_stream_for_node (GstDiscoverer * dc, const GstStructure * topology)
     ps = (PrivateStream *) tmp->data;
 
     target_pad = gst_ghost_pad_get_target (GST_GHOST_PAD (ps->pad));
+    if (target_pad == NULL)
+      continue;
     gst_object_unref (target_pad);
 
     if (target_pad == pad)