[PATCH 15/18] blktrace: change strncpy+truncation to strlcpy

From: Dominique Martinet
Date: Thu Jul 12 2018 - 21:26:07 EST


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 <asmadeus@xxxxxxxxxxxxx>
---

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