X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Fwriter%2Fwriter.c;h=a01b5c4a53497e02e91e21b93f43194eedf4365e;hb=9057f0376ea389c66bc9a3f19790ccc193e1de60;hp=c9ec3479a8cb849541722288e2058796bf54b447;hpb=83968c1a34a9462c83da2ec5d73de8415ac49d7b;p=babeltrace.git diff --git a/plugins/writer/writer.c b/plugins/writer/writer.c index c9ec3479..a01b5c4a 100644 --- a/plugins/writer/writer.c +++ b/plugins/writer/writer.c @@ -45,6 +45,8 @@ void destroy_writer_component_data(struct writer_component *writer_component) g_hash_table_destroy(writer_component->stream_map); g_hash_table_destroy(writer_component->stream_class_map); g_hash_table_destroy(writer_component->trace_map); + g_string_free(writer_component->base_path, true); + g_string_free(writer_component->trace_name_base, true); } static @@ -90,7 +92,12 @@ struct writer_component *create_writer_component(void) writer_component->err = stderr; writer_component->trace_id = 0; - snprintf(writer_component->trace_name_base, NAME_MAX, "trace"); + writer_component->trace_name_base = g_string_new("trace"); + if (!writer_component->trace_name_base) { + g_free(writer_component); + writer_component = NULL; + goto end; + } /* * Reader to writer corresponding structures. @@ -233,7 +240,11 @@ enum bt_component_status writer_component_init( goto error; } - strncpy(writer_component->base_path, path, PATH_MAX); + writer_component->base_path = g_string_new(path); + if (!writer_component) { + ret = BT_COMPONENT_STATUS_ERROR; + goto error; + } ret = bt_component_set_destroy_cb(component, destroy_writer_component);