X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Ftrace-chunk.c;h=29977cabb1ae48e7ab015e717dc38173fcfd93d8;hb=6def6cd7c0d7fc16c679898ccf170d8a45d68ab4;hp=fe244ac36594ebbcec7c81f8b9b331d9540f7a59;hpb=c36a763ba5727f861b66b78abb8554f6e49ab69e;p=lttng-tools.git diff --git a/src/common/trace-chunk.c b/src/common/trace-chunk.c index fe244ac36..29977cabb 100644 --- a/src/common/trace-chunk.c +++ b/src/common/trace-chunk.c @@ -91,8 +91,8 @@ struct lttng_trace_chunk { /* A trace chunk is uniquely identified by its (session id, chunk id) tuple. */ struct lttng_trace_chunk_registry_element { - uint64_t session_id; struct lttng_trace_chunk chunk; + uint64_t session_id; /* Weak and only set when added. */ struct lttng_trace_chunk_registry *registry; struct cds_lfht_node trace_chunk_registry_ht_node; @@ -165,8 +165,9 @@ char *generate_chunk_name(uint64_t chunk_id, time_t creation_timestamp, { int ret = 0; char *new_name= NULL; - char start_datetime[sizeof("YYYYmmddTHHMMSS+HHMM")] = {}; - char end_datetime_suffix[sizeof("-YYYYmmddTHHMMSS+HHMM")] = {}; + char start_datetime[ISO8601_STR_LEN] = {}; + /* Add 1 for a '-' prefix. */ + char end_datetime_suffix[ISO8601_STR_LEN + 1] = {}; ret = time_to_iso8601_str( creation_timestamp, @@ -180,7 +181,7 @@ char *generate_chunk_name(uint64_t chunk_id, time_t creation_timestamp, ret = time_to_iso8601_str( *close_timestamp, end_datetime_suffix + 1, - sizeof(end_datetime_suffix)); + sizeof(end_datetime_suffix) - 1); if (ret) { ERR("Failed to format trace chunk end date time"); goto error; @@ -988,7 +989,7 @@ enum lttng_trace_chunk_status lttng_trace_chunk_set_close_command( if (close_command < LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED || close_command >= LTTNG_TRACE_CHUNK_COMMAND_TYPE_MAX) { status = LTTNG_TRACE_CHUNK_STATUS_INVALID_ARGUMENT; - goto end_unlock; + goto end; } pthread_mutex_lock(&chunk->lock); @@ -1002,7 +1003,7 @@ enum lttng_trace_chunk_status lttng_trace_chunk_set_close_command( } LTTNG_OPTIONAL_SET(&chunk->close_command, close_command); pthread_mutex_unlock(&chunk->lock); -end_unlock: +end: return status; } @@ -1096,7 +1097,7 @@ end: return registry; error: lttng_trace_chunk_registry_destroy(registry); - goto end; + return NULL; } LTTNG_HIDDEN