[PATCH] s390/boot: replace strncpy() with strscpy()
From: Amir Mohammad Jahangirzad
Date: Wed Apr 02 2025 - 19:15:38 EST
From: "Amir Mohammad Jahangirzad" <a.jahangirzad@xxxxxxxxx>
strncpy() is deprecated for use on NUL-terminated destination strings
as it doesn't guarantee NUL-termination when the source string length
exceeds the destination buffer size. strscpy() is a safer alternative
as it always NUL-terminates the destination and returns the number of
characters copied (excluding the NUL).
Replace strncpy() with strscpy() for copying the bootdebug_filter value,
using sizeof(bootdebug_filter) rather than sizeof()-1 since strscpy()
takes the full buffer size as parameter.
Link: https://github.com/KSPP/linux/issues/90
Signed-off-by: Amir Mohammad Jahangirzad <a.jahangirzad@xxxxxxxxx>
---
arch/s390/boot/ipl_parm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/s390/boot/ipl_parm.c b/arch/s390/boot/ipl_parm.c
index d04e9b89d14a..8b153f7b4112 100644
--- a/arch/s390/boot/ipl_parm.c
+++ b/arch/s390/boot/ipl_parm.c
@@ -309,7 +309,7 @@ void parse_boot_command_line(void)
if (!strcmp(param, "bootdebug")) {
bootdebug = true;
if (val)
- strncpy(bootdebug_filter, val, sizeof(bootdebug_filter) - 1);
+ strscpy(bootdebug_filter, val, sizeof(bootdebug_filter));
}
if (!strcmp(param, "quiet"))
boot_console_loglevel = CONSOLE_LOGLEVEL_QUIET;
--
2.43.0