From: Jérémie Galarneau Date: Fri, 1 Jun 2018 16:54:00 +0000 (-0400) Subject: Silence strncpy warning emitted by GCC 8 in lttng_strncpy() X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=commitdiff_plain;h=c3ef76cdae5dbe3088de71a4f7d93a33d592d3d5 Silence strncpy warning emitted by GCC 8 in lttng_strncpy() GCC 8 warns if the destination's length is passed to strncpy, since that could cause the destination to not be NULL-terminated. This is not a concern for the lttng_strncpy since it checks that the source must not be truncated. Therefore, it is safe to simply use strcpy(). Signed-off-by: Jérémie Galarneau --- diff --git a/src/common/macros.h b/src/common/macros.h index 7eaf27cdf..28c21d5b8 100644 --- a/src/common/macros.h +++ b/src/common/macros.h @@ -106,17 +106,11 @@ void *zmalloc(size_t len) static inline int lttng_strncpy(char *dst, const char *src, size_t dst_len) { - if (lttng_strnlen(src, dst_len) == dst_len) { + if (lttng_strnlen(src, dst_len) >= dst_len) { /* Fail since copying would result in truncation. */ return -1; } - strncpy(dst, src, dst_len); - /* - * Be extra careful and put final \0 at the end after strncpy(), - * even though we checked the length before. This makes Coverity - * happy. - */ - dst[dst_len - 1] = '\0'; + strcpy(dst, src); return 0; }