X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Ftrace-chunk.c;h=9f0919a8896b7756121ffe18d6580e0550637f37;hp=dbab99d192876a73ce49be5975b674f55ec4e60e;hb=8243bf1242a85b68217f36784948ed752c9b7325;hpb=e10aec8f225c0822811c65401710a039d7e2d7d7 diff --git a/src/common/trace-chunk.c b/src/common/trace-chunk.c index dbab99d19..9f0919a88 100644 --- a/src/common/trace-chunk.c +++ b/src/common/trace-chunk.c @@ -366,12 +366,14 @@ enum lttng_trace_chunk_status lttng_trace_chunk_set_close_timestamp( goto end; } LTTNG_OPTIONAL_SET(&chunk->timestamp_close, close_ts); - free(chunk->name); - chunk->name = generate_chunk_name(LTTNG_OPTIONAL_GET(chunk->id), - LTTNG_OPTIONAL_GET(chunk->timestamp_creation), - &close_ts); - if (!chunk->name) { - status = LTTNG_TRACE_CHUNK_STATUS_ERROR; + if (!chunk->name_overridden) { + free(chunk->name); + chunk->name = generate_chunk_name(LTTNG_OPTIONAL_GET(chunk->id), + LTTNG_OPTIONAL_GET(chunk->timestamp_creation), + &close_ts); + if (!chunk->name) { + status = LTTNG_TRACE_CHUNK_STATUS_ERROR; + } } end: pthread_mutex_unlock(&chunk->lock); @@ -408,7 +410,7 @@ bool is_valid_chunk_name(const char *name) return false; } - len = strnlen(name, LTTNG_NAME_MAX); + len = lttng_strnlen(name, LTTNG_NAME_MAX); if (len == 0 || len == LTTNG_NAME_MAX) { return false; } @@ -654,7 +656,7 @@ int add_top_level_directory_unique(struct lttng_trace_chunk *chunk, } if (!found) { - char *copy = strndup(new_path, new_path_top_level_len); + char *copy = lttng_strndup(new_path, new_path_top_level_len); DBG("Adding new top-level directory \"%s\" to trace chunk \"%s\"", new_path, chunk->name ? : "(unnamed)"); @@ -1094,7 +1096,7 @@ end: return registry; error: lttng_trace_chunk_registry_destroy(registry); - goto end; + return NULL; } LTTNG_HIDDEN