[PATCH] m68knommu: Replace deprecated strcpy with strscpy in init_ucsimm

Thorsten Blum posted 1 patch 2 weeks, 5 days ago
arch/m68k/68000/ucsimm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] m68knommu: Replace deprecated strcpy with strscpy in init_ucsimm
Posted by Thorsten Blum 2 weeks, 5 days ago
strcpy() has been deprecated [1] because it performs no bounds checking
on the destination buffer, which can lead to buffer overflows. Replace
it with the safer strscpy().

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
Compile-tested only.
---
 arch/m68k/68000/ucsimm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/m68k/68000/ucsimm.c b/arch/m68k/68000/ucsimm.c
index c54fde75eae8..6b84e826040f 100644
--- a/arch/m68k/68000/ucsimm.c
+++ b/arch/m68k/68000/ucsimm.c
@@ -9,6 +9,7 @@
  * for more details.
  */
 #include <linux/init.h>
+#include <linux/string.h>
 #include <asm/bootstd.h>
 #include <asm/machdep.h>
 #include <asm/MC68VZ328.h>
@@ -31,7 +32,7 @@ void __init init_ucsimm(char *command, int size)
 	pr_info("uCsimm/uCdimm hwaddr %pM\n", p);
 	p = getbenv("APPEND");
 	if (p)
-		strcpy(p, command);
+		strscpy(p, command, size);
 	else
 		command[0] = 0;
 }
-- 
Thorsten Blum <thorsten.blum@linux.dev>
GPG: 1D60 735E 8AEF 3BE4 73B6  9D84 7336 78FD 8DFE EAD4
Re: [PATCH] m68knommu: Replace deprecated strcpy with strscpy in init_ucsimm
Posted by Greg Ungerer 2 weeks, 5 days ago
Hi Thorsten,

On 19/1/26 03:33, Thorsten Blum wrote:
> strcpy() has been deprecated [1] because it performs no bounds checking
> on the destination buffer, which can lead to buffer overflows. Replace
> it with the safer strscpy().
> 
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>

Thanks, applied to m68knommu git tree, for-next branch.

Regards
Greg



> ---
> Compile-tested only.
> ---
>   arch/m68k/68000/ucsimm.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/m68k/68000/ucsimm.c b/arch/m68k/68000/ucsimm.c
> index c54fde75eae8..6b84e826040f 100644
> --- a/arch/m68k/68000/ucsimm.c
> +++ b/arch/m68k/68000/ucsimm.c
> @@ -9,6 +9,7 @@
>    * for more details.
>    */
>   #include <linux/init.h>
> +#include <linux/string.h>
>   #include <asm/bootstd.h>
>   #include <asm/machdep.h>
>   #include <asm/MC68VZ328.h>
> @@ -31,7 +32,7 @@ void __init init_ucsimm(char *command, int size)
>   	pr_info("uCsimm/uCdimm hwaddr %pM\n", p);
>   	p = getbenv("APPEND");
>   	if (p)
> -		strcpy(p, command);
> +		strscpy(p, command, size);
>   	else
>   		command[0] = 0;
>   }