Using strlcpy fixes this new gcc warning:
    kernel/trace/blktrace.c: In function ‘do_blk_trace_setup’:
    kernel/trace/blktrace.c:497:2: warning: ‘strncpy’ specified bound 32 equals 
destination size [-Wstringop-truncation]
      strncpy(buts->name, name, BLKTRACE_BDEV_SIZE);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Generated by scripts/coccinelle/misc/strncpy_truncation.cocci

Signed-off-by: Dominique Martinet <asmad...@codewreck.org>
---

Please see https://marc.info/?l=linux-kernel&m=153144450722324&w=2 (the
first patch of the serie) for the motivation behind this patch

 kernel/trace/blktrace.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
index 987d9a9ae283..2478d9838eab 100644
--- a/kernel/trace/blktrace.c
+++ b/kernel/trace/blktrace.c
@@ -494,8 +494,7 @@ static int do_blk_trace_setup(struct request_queue *q, char 
*name, dev_t dev,
        if (!buts->buf_size || !buts->buf_nr)
                return -EINVAL;
 
-       strncpy(buts->name, name, BLKTRACE_BDEV_SIZE);
-       buts->name[BLKTRACE_BDEV_SIZE - 1] = '\0';
+       strlcpy(buts->name, name, BLKTRACE_BDEV_SIZE);
 
        /*
         * some device names have larger paths - convert the slashes
-- 
2.17.1

Reply via email to