]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
configfs: replace strncpy with memcpy
authorGuenter Roeck <linux@roeck-us.net>
Sun, 1 Jul 2018 20:56:54 +0000 (13:56 -0700)
committerJuerg Haefliger <juergh@canonical.com>
Wed, 24 Jul 2019 01:59:20 +0000 (19:59 -0600)
BugLink: https://bugs.launchpad.net/bugs/1836802
commit 1823342a1f2b47a4e6f5667f67cd28ab6bc4d6cd upstream.

gcc 8.1.0 complains:

fs/configfs/symlink.c:67:3: warning:
'strncpy' output truncated before terminating nul copying as many
bytes from a string as its length
fs/configfs/symlink.c: In function 'configfs_get_link':
fs/configfs/symlink.c:63:13: 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>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu@cybertrust.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
fs/configfs/symlink.c

index 78ffc2699993757ebbee26c61bc90ea686201971..a5c54af861f7be1df20d49cdcbbb59dae8e8481f 100644 (file)
@@ -64,7 +64,7 @@ static void fill_item_path(struct config_item * item, char * buffer, int length)
 
                /* back up enough to print this bus id with '/' */
                length -= cur;
-               strncpy(buffer + length,config_item_name(p),cur);
+               memcpy(buffer + length, config_item_name(p), cur);
                *(buffer + --length) = '/';
        }
 }