lttng: clean-up: silence bogus string truncation warning
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Sat, 14 Sep 2019 20:43:38 +0000 (16:43 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sat, 14 Sep 2019 20:43:38 +0000 (16:43 -0400)
gcc 9.1.0 reports
enable_events.c:827:2: warning: ‘strncpy’ output truncated copying 9 bytes from a string of length 11 [-Wstringop-truncation]
  827 |  strncpy(ret, preamble, length);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

gcc seems confused and using "sizeof" the preamble seems to make
it understand the code flow and not generate the warning anymore.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng/commands/enable_events.c

index b4e6320c52a84619888b344b7037107c1aed8fc2..f11436e165759591a0c9ac846e1e3e37f8d87e16 100644 (file)
@@ -805,7 +805,7 @@ char *print_exclusions(char **names)
 {
        int length = 0;
        int i;
 {
        int length = 0;
        int i;
-       const char *preamble = " excluding ";
+       const char preamble[] = " excluding ";
        char *ret;
        int count = names ? strutils_array_of_strings_len(names) : 0;
 
        char *ret;
        int count = names ? strutils_array_of_strings_len(names) : 0;
 
@@ -818,9 +818,8 @@ char *print_exclusions(char **names)
                length += strlen(names[i]) + 4;
        }
 
                length += strlen(names[i]) + 4;
        }
 
-       /* add length of preamble + one for NUL - one for last (missing) comma */
-       length += strlen(preamble);
-       ret = zmalloc(length + 1);
+       length += sizeof(preamble);
+       ret = zmalloc(length);
        if (!ret) {
                return NULL;
        }
        if (!ret) {
                return NULL;
        }
This page took 0.025947 seconds and 4 git commands to generate.