2022-12-28 02:14:22

by Yang Yang

[permalink] [raw]
Subject: [PATCH linux-next] fbdev: omap: 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/omap/omapfb_main.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/video/fbdev/omap/omapfb_main.c b/drivers/video/fbdev/omap/omapfb_main.c
index 17cda5765683..1f3df2055ff0 100644
--- a/drivers/video/fbdev/omap/omapfb_main.c
+++ b/drivers/video/fbdev/omap/omapfb_main.c
@@ -1447,7 +1447,7 @@ static int fbinfo_init(struct omapfb_device *fbdev, struct fb_info *info)
info->fbops = &omapfb_ops;
info->flags = FBINFO_FLAG_DEFAULT;

- strncpy(fix->id, MODULE_NAME, sizeof(fix->id));
+ strscpy(fix->id, MODULE_NAME, sizeof(fix->id));

info->pseudo_palette = fbdev->pseudo_palette;

@@ -1573,8 +1573,7 @@ static int omapfb_find_ctrl(struct omapfb_device *fbdev)

fbdev->ctrl = NULL;

- strncpy(name, conf->lcd.ctrl_name, sizeof(name) - 1);
- name[sizeof(name) - 1] = '\0';
+ strscpy(name, conf->lcd.ctrl_name, sizeof(name));

if (strcmp(name, "internal") == 0) {
fbdev->ctrl = fbdev->int_ctrl;
--
2.15.2


2022-12-28 08:21:19

by Helge Deller

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

On 12/28/22 02:40, [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/omap/omapfb_main.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)

applied.
Thanks!
Helge

>
> diff --git a/drivers/video/fbdev/omap/omapfb_main.c b/drivers/video/fbdev/omap/omapfb_main.c
> index 17cda5765683..1f3df2055ff0 100644
> --- a/drivers/video/fbdev/omap/omapfb_main.c
> +++ b/drivers/video/fbdev/omap/omapfb_main.c
> @@ -1447,7 +1447,7 @@ static int fbinfo_init(struct omapfb_device *fbdev, struct fb_info *info)
> info->fbops = &omapfb_ops;
> info->flags = FBINFO_FLAG_DEFAULT;
>
> - strncpy(fix->id, MODULE_NAME, sizeof(fix->id));
> + strscpy(fix->id, MODULE_NAME, sizeof(fix->id));
>
> info->pseudo_palette = fbdev->pseudo_palette;
>
> @@ -1573,8 +1573,7 @@ static int omapfb_find_ctrl(struct omapfb_device *fbdev)
>
> fbdev->ctrl = NULL;
>
> - strncpy(name, conf->lcd.ctrl_name, sizeof(name) - 1);
> - name[sizeof(name) - 1] = '\0';
> + strscpy(name, conf->lcd.ctrl_name, sizeof(name));
>
> if (strcmp(name, "internal") == 0) {
> fbdev->ctrl = fbdev->int_ctrl;