Make channel name attribute optional in session.xsd
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 16 Jun 2016 00:23:07 +0000 (20:23 -0400)
committerJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Tue, 5 Jul 2016 22:53:50 +0000 (18:53 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/config/session-config.c
src/common/config/session.xsd

index 3a1ff795c6e5e9ae66e7cbdb51782a34a2e583de..a223d19964943b6071578d0f5b89d39b49ea98bd 100644 (file)
@@ -1803,6 +1803,7 @@ int process_channel_attr_node(xmlNodePtr attr_node,
                xmlNodePtr *events_node)
 {
        int ret;
+       bool name_set = false;
 
        assert(attr_node);
        assert(channel);
@@ -1830,6 +1831,7 @@ int process_channel_attr_node(xmlNodePtr attr_node,
 
                strncpy(channel->name, (const char *) content, name_len);
                free(content);
+               name_set = true;
        } else if (!strcmp((const char *) attr_node->name,
                        config_element_enabled)) {
                xmlChar *content;
@@ -2045,6 +2047,12 @@ int process_channel_attr_node(xmlNodePtr attr_node,
                /* contexts */
                *contexts_node = attr_node;
        }
+
+       if (!name_set) {
+               ERR("Encountered a channel with no name attribute.");
+               ret = -LTTNG_ERR_LOAD_INVALID_CONFIG;
+               goto end;
+       }
        ret = 0;
 end:
        return ret;
index 95be6bfa51fd12e34303e618b88f37926c8c4d62..89f6d14419d1e09a3d5af36dd1bb84b59699144d 100644 (file)
@@ -179,7 +179,7 @@ elementFormDefault="qualified" version="3.0">
 <!-- Maps to struct lttng_channel -->
 <xs:complexType name="channel_type">
        <xs:all>
-               <xs:element name="name" type="name_type"/>
+               <xs:element name="name" type="name_type" minOccurs="0"/>
                <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
                <xs:element name="overwrite_mode" type="channel_overwrite_mode_type" default="DISCARD" minOccurs="0"/>
                <xs:element name="subbuffer_size" type="uint64_type" minOccurs="0"/> <!-- bytes -->
This page took 0.029155 seconds and 5 git commands to generate.