[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b53cc9c0-f1fd-43ae-85d9-2c502fc4fcec@kadam.mountain>
Date: Fri, 13 Oct 2023 12:59:58 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: Calvince Otieno <calvncce@...il.com>
Cc: outreachy@...ts.linux.dev, linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Luke Koch <lu.ale.koch@...il.com>,
Bagas Sanjaya <bagasdotme@...il.com>,
Simon Horman <horms@...nel.org>, linux-staging@...ts.linux.dev
Subject: Re: [PATCH v4] staging: wlan-ng: replace strncpy() with strscpy()
On Fri, Oct 13, 2023 at 12:54:26PM +0300, Calvince Otieno wrote:
> Checkpatch suggests the use of strscpy() instead of strncpy().
> The advantages are that it always adds a NUL terminator and it prevents
> a read overflow if the src string is not properly terminated. One
> potential disadvantage is that it doesn't zero pad the string like
> strncpy() does.
>
> In this code, strscpy() and strncpy() are equivalent and it does not
> affect runtime behavior. The string is zeroed on the line before
> using memset(). The resulting string was always NUL terminated and
> PRISM2_USB_FWFILE is string literal "prism2_ru.fw" so it's NUL
> terminated.
>
> However, even though using strscpy() does not fix any bugs, it's
> still nicer and makes checkpatch happy.
>
> Signed-off-by: Calvince Otieno <calvncce@...il.com>
> ---
> Patch version v4:
> Provide a valid description of the patch
Good.
However, you've still included the v1 patch... See below. Don't do
that.
regards,
dan carpenter
> Patch version v1:
> Replacing strncpy() with strscpy()
>
> drivers/staging/wlan-ng/prism2fw.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/wlan-ng/prism2fw.c b/drivers/staging/wlan-ng/prism2fw.c
> index 5d03b2b9aab4..57a99dd12143 100644
> --- a/drivers/staging/wlan-ng/prism2fw.c
> +++ b/drivers/staging/wlan-ng/prism2fw.c
> @@ -725,7 +725,7 @@ static int plugimage(struct imgchunk *fchunk, unsigned int nfchunks,
>
> if (j == -1) { /* plug the filename */
> memset(dest, 0, s3plug[i].len);
> - strncpy(dest, PRISM2_USB_FWFILE, s3plug[i].len - 1);
> + strscpy(dest, PRISM2_USB_FWFILE, s3plug[i].len - 1);
> } else { /* plug a PDR */
> memcpy(dest, &pda->rec[j]->data, s3plug[i].len);
> }
>
> --
> Calvince Otieno
>
Powered by blists - more mailing lists