inputselector: avoid iterating over a single NULL pad
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 28 Jun 2011 17:01:57 +0000 (19:01 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 28 Jun 2011 17:01:57 +0000 (19:01 +0200)
plugins/elements/gstinputselector.c

index c1d257b..7235a47 100644 (file)
@@ -334,7 +334,7 @@ gst_selector_pad_iterate_linked_pads (GstPad * pad)
 {
   GstInputSelector *sel;
   GstPad *otherpad;
-  GstIterator *it;
+  GstIterator *it = NULL;
   GValue val = { 0, };
 
   sel = GST_INPUT_SELECTOR (gst_pad_get_parent (pad));
@@ -342,13 +342,13 @@ gst_selector_pad_iterate_linked_pads (GstPad * pad)
     return NULL;
 
   otherpad = gst_input_selector_get_linked_pad (sel, pad, TRUE);
-  g_value_init (&val, GST_TYPE_PAD);
-  g_value_set_object (&val, otherpad);
-  it = gst_iterator_new_single (GST_TYPE_PAD, &val);
-  g_value_unset (&val);
-
-  if (otherpad)
+  if (otherpad) {
+    g_value_init (&val, GST_TYPE_PAD);
+    g_value_set_object (&val, otherpad);
+    it = gst_iterator_new_single (GST_TYPE_PAD, &val);
+    g_value_unset (&val);
     gst_object_unref (otherpad);
+  }
   gst_object_unref (sel);
 
   return it;