kernfs: Replace strncpy with memcpy
authorGuenter Roeck <linux@roeck-us.net>
Sun, 1 Jul 2018 20:57:13 +0000 (13:57 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jul 2018 07:57:10 +0000 (09:57 +0200)
gcc 8.1.0 complains:

fs/kernfs/symlink.c:91:3: warning:
'strncpy' output truncated before terminating nul copying
as many bytes from a string as its length
fs/kernfs/symlink.c: In function 'kernfs_iop_get_link':
fs/kernfs/symlink.c:88:14: note: length computed here

Using strncpy() is indeed less than perfect since the length of data to
be copied has already been determined with strlen(). Replace strncpy()
with memcpy() to address the warning and optimize the code a little.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/kernfs/symlink.c

index 08ccabd7047f390151b8ab31f72baa21efeefb6f..5145ae2f0572e333d5ce6733a3c97881e9f28bab 100644 (file)
@@ -88,7 +88,7 @@ static int kernfs_get_target_path(struct kernfs_node *parent,
                int slen = strlen(kn->name);
 
                len -= slen;
-               strncpy(s + len, kn->name, slen);
+               memcpy(s + len, kn->name, slen);
                if (len)
                        s[--len] = '/';