Re: [PATCH] nfs_sysfs_link_rpc_client(): Replace strcpy with strscpy

From: Roland Mainz
Date: Wed Nov 06 2024 - 15:20:51 EST


On Wed, Nov 6, 2024 at 3:49 AM Daniel Yang <danielyangkang@xxxxxxxxx> wrote:
>
> The function strcpy is deprecated due to lack of bounds checking. The
> recommended replacement is strscpy.
>
> Signed-off-by: Daniel Yang <danielyangkang@xxxxxxxxx>
> ---
> fs/nfs/sysfs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/nfs/sysfs.c b/fs/nfs/sysfs.c
> index bf378ecd5..f3d0b2ef9 100644
> --- a/fs/nfs/sysfs.c
> +++ b/fs/nfs/sysfs.c
> @@ -280,7 +280,7 @@ void nfs_sysfs_link_rpc_client(struct nfs_server *server,
> char name[RPC_CLIENT_NAME_SIZE];
> int ret;
>
> - strcpy(name, clnt->cl_program->name);
> + strscpy(name, clnt->cl_program->name);

How should the "bounds checking" work in this case if you only pass
two arguments ?
Per https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html
|strscpy()| takes three arguments...

----

Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland.mainz@xxxxxxxxxxx
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)