Re: [PATCH] MIPS: Loongson64: Replace deprecated strcpy() with strscpy_pad()
From: Thomas Bogendoerfer
Date: Fri Aug 29 2025 - 06:31:57 EST
On Tue, Aug 19, 2025 at 12:23:19PM +0200, Thorsten Blum wrote:
> strcpy() is deprecated; use strscpy_pad() instead.
>
> strscpy_pad() already copies the source strings and zero-pads the tail
> of the destination buffers, making the explicit initializations to zero
> redundant. Remove them to ensure the buffers are only written to once.
>
> No functional changes intended.
>
> Link: https://github.com/KSPP/linux/issues/88
> Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
> ---
> arch/mips/loongson64/boardinfo.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/mips/loongson64/boardinfo.c b/arch/mips/loongson64/boardinfo.c
> index 8bb275c93ac0..827ab94b98b3 100644
> --- a/arch/mips/loongson64/boardinfo.c
> +++ b/arch/mips/loongson64/boardinfo.c
> @@ -1,17 +1,18 @@
> // SPDX-License-Identifier: GPL-2.0
> #include <linux/kobject.h>
> +#include <linux/string.h>
> #include <boot_param.h>
>
> static ssize_t boardinfo_show(struct kobject *kobj,
> struct kobj_attribute *attr, char *buf)
> {
> - char board_manufacturer[64] = {0};
> + char board_manufacturer[64];
> char *tmp_board_manufacturer = board_manufacturer;
> - char bios_vendor[64] = {0};
> + char bios_vendor[64];
> char *tmp_bios_vendor = bios_vendor;
>
> - strcpy(board_manufacturer, eboard->name);
> - strcpy(bios_vendor, einter->description);
> + strscpy_pad(board_manufacturer, eboard->name);
> + strscpy_pad(bios_vendor, einter->description);
>
> return sprintf(buf,
> "Board Info\n"
> --
> 2.50.1
applied to mips-next.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]