Fix: allow NULL (unnamed) in bt_ctf_stream_class_{get,set}_name()
[babeltrace.git] / lib / ctf-ir / stream-class.c
index 1ac20cc55ee339157093f4e9f70fab50b4c78d1d..6fdb8ed2f5747b4cf5bc0b70d50bebf4b7412447 100644 (file)
@@ -146,7 +146,7 @@ const char *bt_ctf_stream_class_get_name(
                goto end;
        }
 
-       name = stream_class->name->str;
+       name = stream_class->name->len > 0 ? stream_class->name->str : NULL;
 end:
        return name;
 }
@@ -171,7 +171,18 @@ int bt_ctf_stream_class_set_name(struct bt_ctf_stream_class *stream_class,
                goto end;
        }
 
-       g_string_assign(stream_class->name, name);
+       if (!name) {
+               g_string_assign(stream_class->name, "");
+       } else {
+               if (strlen(name) == 0) {
+                       BT_LOGW("Invalid parameter: name is empty.");
+                       ret = -1;
+                       goto end;
+               }
+
+               g_string_assign(stream_class->name, name);
+       }
+
        BT_LOGV("Set stream class's name: "
                "addr=%p, name=\"%s\", id=%" PRId64,
                stream_class, bt_ctf_stream_class_get_name(stream_class),
This page took 0.02317 seconds and 4 git commands to generate.