mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
xen/xenbus: Replace strcpy() with memcpy()
The length of the string is calculated in order to allocate the correct sized memory block, use the same length to copy the string. Signed-off-by: David Laight <david.laight.linux@gmail.com> Reviewed-by: Juergen Gross <jgross@suse.com> Signed-off-by: Juergen Gross <jgross@suse.com> Message-ID: <20260606202633.5018-4-david.laight.linux@gmail.com>
This commit is contained in:
parent
1d5d1b8a4c
commit
a174910917
|
|
@ -514,7 +514,7 @@ int xenbus_probe_node(struct xen_bus_type *bus,
|
|||
char devname[XEN_BUS_ID_SIZE];
|
||||
int err;
|
||||
struct xenbus_device *xendev;
|
||||
size_t stringlen;
|
||||
size_t name_len, type_len;
|
||||
char *tmpstring;
|
||||
|
||||
enum xenbus_state state = xenbus_read_driver_state(NULL, nodename);
|
||||
|
|
@ -525,8 +525,9 @@ int xenbus_probe_node(struct xen_bus_type *bus,
|
|||
return 0;
|
||||
}
|
||||
|
||||
stringlen = strlen(nodename) + 1 + strlen(type) + 1;
|
||||
xendev = kzalloc(sizeof(*xendev) + stringlen, GFP_KERNEL);
|
||||
name_len = strlen(nodename);
|
||||
type_len = strlen(type);
|
||||
xendev = kzalloc(sizeof(*xendev) + name_len + 1 + type_len + 1, GFP_KERNEL);
|
||||
if (!xendev)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
@ -535,11 +536,11 @@ int xenbus_probe_node(struct xen_bus_type *bus,
|
|||
/* Copy the strings into the extra space. */
|
||||
|
||||
tmpstring = (char *)(xendev + 1);
|
||||
strcpy(tmpstring, nodename);
|
||||
memcpy(tmpstring, nodename, name_len);
|
||||
xendev->nodename = tmpstring;
|
||||
|
||||
tmpstring += strlen(tmpstring) + 1;
|
||||
strcpy(tmpstring, type);
|
||||
tmpstring += name_len + 1;
|
||||
memcpy(tmpstring, type, type_len);
|
||||
xendev->devicetype = tmpstring;
|
||||
init_completion(&xendev->down);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user