padtemplate: Fix null pointer dereference on invalid static caps

A typo in a static caps string may result in failure to
deserialise it, so don't dereference the result without
checking.
This commit is contained in:
Jan Schmidt 2017-01-03 02:12:27 +11:00
parent 269699f621
commit 246618125f

View file

@ -415,9 +415,11 @@ gst_pad_template_set_property (GObject * object, guint prop_id,
break;
case PROP_CAPS:
GST_PAD_TEMPLATE_CAPS (object) = g_value_dup_boxed (value);
/* GstPadTemplate are usually leaked so are their caps */
GST_MINI_OBJECT_FLAG_SET (GST_PAD_TEMPLATE_CAPS (object),
GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED);
if (GST_PAD_TEMPLATE_CAPS (object) != NULL) {
/* GstPadTemplate are usually leaked so are their caps */
GST_MINI_OBJECT_FLAG_SET (GST_PAD_TEMPLATE_CAPS (object),
GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED);
}
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);