]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
kobject: Replace strncpy with memcpy
authorGuenter Roeck <linux@roeck-us.net>
Sun, 1 Jul 2018 20:57:16 +0000 (13:57 -0700)
committerSultan Alsawaf <sultan.alsawaf@canonical.com>
Wed, 24 Jul 2019 15:45:00 +0000 (09:45 -0600)
BugLink: https://bugs.launchpad.net/bugs/1837161
commit 77d2a24b6107bd9b3bf2403a65c1428a9da83dd0 upstream.

gcc 8.1.0 complains:

lib/kobject.c:128:3: warning:
'strncpy' output truncated before terminating nul copying as many
bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c: In function 'kobject_get_path':
lib/kobject.c:125: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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
lib/kobject.c

index 65edcc8334319c9dbe5aadd7f1c080011008b393..7c41d62e11383e538649b5d3ad7a2720cfd4561a 100644 (file)
@@ -146,7 +146,7 @@ static void fill_kobj_path(struct kobject *kobj, char *path, int length)
                int cur = strlen(kobject_name(parent));
                /* back up enough to print this name with '/' */
                length -= cur;
-               strncpy(path + length, kobject_name(parent), cur);
+               memcpy(path + length, kobject_name(parent), cur);
                *(path + --length) = '/';
        }