| From 166126c1e54d927c2e8efa2702d420e0ce301fd9 Mon Sep 17 00:00:00 2001 |
| From: Guenter Roeck <linux@roeck-us.net> |
| Date: Sun, 1 Jul 2018 13:57:13 -0700 |
| Subject: kernfs: Replace strncpy with memcpy |
| |
| From: Guenter Roeck <linux@roeck-us.net> |
| |
| commit 166126c1e54d927c2e8efa2702d420e0ce301fd9 upstream. |
| |
| 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 | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/kernfs/symlink.c |
| +++ b/fs/kernfs/symlink.c |
| @@ -88,7 +88,7 @@ static int kernfs_get_target_path(struct |
| int slen = strlen(kn->name); |
| |
| len -= slen; |
| - strncpy(s + len, kn->name, slen); |
| + memcpy(s + len, kn->name, slen); |
| if (len) |
| s[--len] = '/'; |
| |