[linux-next] fbdev: use strscpy() to instead of strncpy()

Message ID 202212280944112670081@zte.com.cn
State New
Headers
Series [linux-next] fbdev: use strscpy() to instead of strncpy() |

Commit Message

Yang Yang Dec. 28, 2022, 1:44 a.m. UTC
  From: Xu Panda <xu.panda@zte.com.cn>

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 <xu.panda@zte.com.cn>
Signed-off-by: Yang Yang <yang.yang29@zte.com>
---
 drivers/video/fbdev/aty/atyfb_base.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
  

Comments

Helge Deller Dec. 28, 2022, 7:58 a.m. UTC | #1
On 12/28/22 02:44, yang.yang29@zte.com.cn wrote:
> From: Xu Panda <xu.panda@zte.com.cn>
>
> 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 <xu.panda@zte.com.cn>
> Signed-off-by: Yang Yang <yang.yang29@zte.com>
> ---
>   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);
  

Patch

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);