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 committed by Sebastian Dröge
parent 8ef1b65364
commit 0e621fec3f

View file

@ -397,9 +397,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);