Re: [PATCH v4] staging: wlan-ng: replace strncpy() with strscpy()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> ---
> 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
> 




[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux