[PATCH] tools/power/acpi: Replace unsafe strcpy with snprintf in apdump.c

Sumeet Pawnikar posted 1 patch 5 days, 17 hours ago
tools/power/acpi/tools/acpidump/apdump.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
[PATCH] tools/power/acpi: Replace unsafe strcpy with snprintf in apdump.c
Posted by Sumeet Pawnikar 5 days, 17 hours ago
Replace unsafe strcpy() calls with snprintf() in apdump.c to prevent
potential buffer overflow vulnerabilities when handling table signatures.
The snprintf() function performs automatic bounds checking to ensure
the destination buffer is not overflowed.

No functional change.

Signed-off-by: Sumeet Pawnikar <sumeet4linux@gmail.com>
---
 tools/power/acpi/tools/acpidump/apdump.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/power/acpi/tools/acpidump/apdump.c b/tools/power/acpi/tools/acpidump/apdump.c
index 7a6223aa703c..b566f9b832f1 100644
--- a/tools/power/acpi/tools/acpidump/apdump.c
+++ b/tools/power/acpi/tools/acpidump/apdump.c
@@ -308,15 +308,17 @@ int ap_dump_table_by_name(char *signature)
 
 	/* Table signatures are expected to be uppercase */
 
-	strcpy(local_signature, signature);
+	snprintf(local_signature, sizeof(local_signature), "%s", signature);
 	acpi_ut_strupr(local_signature);
 
 	/* To be friendly, handle tables whose signatures do not match the name */
 
 	if (ACPI_COMPARE_NAMESEG(local_signature, "FADT")) {
-		strcpy(local_signature, ACPI_SIG_FADT);
+		snprintf(local_signature, sizeof(local_signature), "%s",
+			 ACPI_SIG_FADT);
 	} else if (ACPI_COMPARE_NAMESEG(local_signature, "MADT")) {
-		strcpy(local_signature, ACPI_SIG_MADT);
+		snprintf(local_signature, sizeof(local_signature), "%s",
+			 ACPI_SIG_MADT);
 	}
 
 	/* Dump all instances of this signature (to handle multiple SSDTs) */
-- 
2.43.0