virtio_console: Use strscpy() to instead of strncpy()
authorBo Liu <liubo03@inspur.com>
Wed, 18 Jan 2023 01:29:44 +0000 (20:29 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Jan 2023 12:07:54 +0000 (13:07 +0100)
The implementation of strscpy() is more robust and safer.
That's now the recommended way to copy NUL-terminated strings.

Signed-off-by: Bo Liu <liubo03@inspur.com>
Link: https://lore.kernel.org/r/20230118012944.2436-1-liubo03@inspur.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/virtio_console.c

index 6a82111..d5ac4d9 100644 (file)
@@ -1666,9 +1666,8 @@ static void handle_control_message(struct virtio_device *vdev,
                                "Not enough space to store port name\n");
                        break;
                }
-               strncpy(port->name, buf->buf + buf->offset + sizeof(*cpkt),
-                       name_size - 1);
-               port->name[name_size - 1] = 0;
+               strscpy(port->name, buf->buf + buf->offset + sizeof(*cpkt),
+                       name_size);
 
                /*
                 * Since we only have one sysfs attribute, 'name',