Clean-up: format using remaining buffer len rather than total len
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Mon, 9 Sep 2019 16:14:54 +0000 (12:14 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 19 Sep 2019 19:31:48 +0000 (15:31 -0400)
end_datetime_suffix is has an extra byte to contain a '-' prefix.
This means that its effective length is ISO8601_STR_LEN and not its
sizeof(). This is not considered a fix as time_to_iso8601_str() does
not write more than ISO8601_STR_LEN (for time being).

The ISO8601_STR_LEN macro is used for the buffer lengths for clarity;
no behaviour change is intended.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/trace-chunk.c

index 9f0919a8896b7756121ffe18d6580e0550637f37..f7a4372b42df11140e0d9ced34c15d60ff6534fd 100644 (file)
@@ -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;
This page took 0.026763 seconds and 4 git commands to generate.