2022-12-28 03:20:17

by Yang Yang

[permalink] [raw]
Subject: [PATCH linux-next] fbdev: use strscpy() to instead of strncpy()

From: Xu Panda <[email protected]>

The implementation of strscpy() is more robust and safer.
That's now the recommended way to copy NUL-terminated strings.

Signed-off-by: Xu Panda <[email protected]>
Signed-off-by: Yang Yang <[email protected]>
---
drivers/video/fbdev/aty/atyfb_base.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev/aty/atyfb_base.c
index 0ccf5d401ecb..851c1236fddb 100644
--- a/drivers/video/fbdev/aty/atyfb_base.c
+++ b/drivers/video/fbdev/aty/atyfb_base.c
@@ -3192,8 +3192,7 @@ static void aty_init_lcd(struct atyfb_par *par, u32 bios_base)
* which we print to the screen.
*/
id = *(u8 *)par->lcd_table;
- strncpy(model, (char *)par->lcd_table+1, 24);
- model[23] = 0;
+ strscpy(model, (char *)par->lcd_table+1, 24);

width = par->lcd_width = *(u16 *)(par->lcd_table+25);
height = par->lcd_height = *(u16 *)(par->lcd_table+27);
--
2.15.2


2022-12-28 08:21:27

by Helge Deller

[permalink] [raw]
Subject: Re: [PATCH linux-next] fbdev: use strscpy() to instead of strncpy()

On 12/28/22 02:44, [email protected] wrote:
> From: Xu Panda <[email protected]>
>
> The implementation of strscpy() is more robust and safer.
> That's now the recommended way to copy NUL-terminated strings.
>
> Signed-off-by: Xu Panda <[email protected]>
> Signed-off-by: Yang Yang <[email protected]>
> ---
> drivers/video/fbdev/aty/atyfb_base.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

applied.
Thanks!
Helge


>
> diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev/aty/atyfb_base.c
> index 0ccf5d401ecb..851c1236fddb 100644
> --- a/drivers/video/fbdev/aty/atyfb_base.c
> +++ b/drivers/video/fbdev/aty/atyfb_base.c
> @@ -3192,8 +3192,7 @@ static void aty_init_lcd(struct atyfb_par *par, u32 bios_base)
> * which we print to the screen.
> */
> id = *(u8 *)par->lcd_table;
> - strncpy(model, (char *)par->lcd_table+1, 24);
> - model[23] = 0;
> + strscpy(model, (char *)par->lcd_table+1, 24);
>
> width = par->lcd_width = *(u16 *)(par->lcd_table+25);
> height = par->lcd_height = *(u16 *)(par->lcd_table+27);