lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20250724073341.27258-1-miguelgarciaroman8@gmail.com>
Date: Thu, 24 Jul 2025 09:33:41 +0200
From: Miguel García <miguelgarciaroman8@...il.com>
To: devicetree@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
	robh@...nel.org,
	saravanak@...gle.com,
	skhan@...uxfoundation.org,
	Miguel García <miguelgarciaroman8@...il.com>
Subject: [PATCH] of: replace deprecated strcpy() with strscpy()

strcpy() is deprecated for NUL-terminated strings. Replace the uses in
overlay.c and pdt.c with strscpy(), using the known buffer sizes:
- new_prop->value (length in new_prop->length)
- local arrays in pdt.c

Signed-off-by: Miguel García <miguelgarciaroman8@...il.com>
---
 drivers/of/overlay.c | 5 +++--
 drivers/of/pdt.c     | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
index 1af6f52d0708..b11e1d045c9a 100644
--- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c
@@ -258,8 +258,9 @@ static struct property *dup_and_fixup_symbol_prop(
 	if (!new_prop->name || !new_prop->value)
 		goto err_free_new_prop;
 
-	strcpy(new_prop->value, target_path);
-	strcpy(new_prop->value + target_path_len, path_tail);
+	strscpy(new_prop->value, target_path, new_prop->length);
+	strscpy(new_prop->value + target_path_len, path_tail,
+	new_prop->length - target_path_len);
 
 	of_property_set_flag(new_prop, OF_DYNAMIC);
 
diff --git a/drivers/of/pdt.c b/drivers/of/pdt.c
index cb0cb374b21f..1337ac4e8e80 100644
--- a/drivers/of/pdt.c
+++ b/drivers/of/pdt.c
@@ -51,7 +51,7 @@ static char * __init of_pdt_build_full_name(struct device_node *dp)
 	if (!of_pdt_prom_ops->pkg2path(dp->phandle, path, sizeof(path), &len)) {
 		name = kbasename(path);
 		buf = prom_early_alloc(strlen(name) + 1);
-		strcpy(buf, name);
+		strscpy(buf, name, sizeof(buf));
 		return buf;
 	}
 
@@ -84,7 +84,7 @@ static struct property * __init of_pdt_build_one_prop(phandle node, char *prev,
 
 	p->name = (char *) (p + 1);
 	if (special_name) {
-		strcpy(p->name, special_name);
+		strscpy(p->name, special_name, sizeof(p->name));
 		p->length = special_len;
 		p->value = prom_early_alloc(special_len);
 		memcpy(p->value, special_val, special_len);
-- 
2.34.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ