Skip to content

Commit eda1a74

Browse files
JustinStittrafaeljw
authored andcommitted
PNP: ACPI: replace deprecated strncpy() with strscpy()
strncpy() is deprecated for use on NUL-terminated destination strings [1] and as such we should prefer more robust and less ambiguous string interfaces. We know dev->name should be NUL-terminated based on the presence of a manual NUL-byte assignment. NUL-padding is not required as dev is already zero-allocated which renders any further NUL-byte assignments redundant: dev = pnp_alloc_dev(&pnpacpi_protocol, num, pnpid); ---> dev = kzalloc(sizeof(struct pnp_dev), GFP_KERNEL); Considering the above, a suitable replacement is `strscpy` [2] due to the fact that it guarantees NUL-termination on the destination buffer without unnecessarily NUL-padding. This simplifies the code and makes the intent/behavior more obvious. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2] Link: KSPP#90 Signed-off-by: Justin Stitt <[email protected]> Reviewed-by: Kees Cook <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent eeb6d1d commit eda1a74

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

drivers/pnp/pnpacpi/core.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,12 +250,9 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
250250
dev->capabilities |= PNP_DISABLE;
251251

252252
if (strlen(acpi_device_name(device)))
253-
strncpy(dev->name, acpi_device_name(device), sizeof(dev->name));
253+
strscpy(dev->name, acpi_device_name(device), sizeof(dev->name));
254254
else
255-
strncpy(dev->name, acpi_device_bid(device), sizeof(dev->name));
256-
257-
/* Handle possible string truncation */
258-
dev->name[sizeof(dev->name) - 1] = '\0';
255+
strscpy(dev->name, acpi_device_bid(device), sizeof(dev->name));
259256

260257
if (dev->active)
261258
pnpacpi_parse_allocated_resource(dev);

0 commit comments

Comments
 (0)