]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
NFC: pn544: i2c: Replace strcpy() with strscpy()
authorTomasz Unger <tomasz.unger@yahoo.pl>
Sun, 1 Mar 2026 12:12:54 +0000 (13:12 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 4 Mar 2026 01:12:46 +0000 (17:12 -0800)
Replace strcpy() with strscpy() which limits the copy to the size of
the destination buffer. Since phy->firmware_name is an array, the
two-argument variant of strscpy() is used - the compiler deduces
the buffer size automatically.

This is a defensive cleanup. As pointed out by Jakub Kicinski
<kuba@kernel.org>, firmware_name is already bounded to
NFC_FIRMWARE_NAME_MAXSIZE via nla_strscpy() in net/nfc/netlink.c
before reaching this driver, so no actual buffer overflow is possible.

Signed-off-by: Tomasz Unger <tomasz.unger@yahoo.pl>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260301121254.174354-1-tomasz.unger@yahoo.pl
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/nfc/pn544/i2c.c

index a0dfb3f98d5a9f5810dec64cfba8526ea405e460..b31b5bef7187777ee3f3bf73618f4dd54fce8caa 100644 (file)
@@ -526,7 +526,7 @@ static int pn544_hci_i2c_fw_download(void *phy_id, const char *firmware_name,
 
        pr_info("Starting Firmware Download (%s)\n", firmware_name);
 
-       strcpy(phy->firmware_name, firmware_name);
+       strscpy(phy->firmware_name, firmware_name);
 
        phy->hw_variant = hw_variant;
        phy->fw_work_state = FW_WORK_STATE_START;