diff --git a/ges/ges-xml-formatter.c b/ges/ges-xml-formatter.c index cfbddcc15b..409c5542b7 100644 --- a/ges/ges-xml-formatter.c +++ b/ges/ges-xml-formatter.c @@ -434,6 +434,8 @@ _parse_track (GMarkupParseContext * context, const gchar * element_name, if (properties) { props = gst_structure_from_string (properties, NULL); + if (!props) + goto wrong_properties; } ges_base_xml_formatter_add_track (GES_BASE_XML_FORMATTER (self), track_type, @@ -460,6 +462,13 @@ convertion_failed: g_strerror (errno)); return; +wrong_properties: + gst_clear_caps (&caps); + g_set_error (error, G_MARKUP_ERROR, + G_MARKUP_ERROR_INVALID_CONTENT, + "element '%s', Can not create properties: %s'", element_name, properties); + return; + } static inline void