[PATCH] staging: atomisp: replace sprintf with strscpy

tomasz.unger@yahoo.pl posted 1 patch 1 month, 1 week ago
drivers/staging/media/atomisp/pci/atomisp_subdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] staging: atomisp: replace sprintf with strscpy
Posted by tomasz.unger@yahoo.pl 1 month, 1 week ago
From: Tomasz Unger <tomasz.unger@yahoo.pl>

Replace deprecated sprintf() with strscpy() which is the preferred
kernel API for string copying. strscpy() is safer as it guarantees
null-termination and prevents potential buffer overflows.

Since sd->name is a fixed-size array, the destination buffer size
is deduced automatically by the kernel-defined strscpy() macro,
so no explicit size parameter is needed.

Compiled and tested by loading atomisp.ko module successfully.

Signed-off-by: Tomasz Unger <tomasz.unger@yahoo.pl>
---
 drivers/staging/media/atomisp/pci/atomisp_subdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/media/atomisp/pci/atomisp_subdev.c b/drivers/staging/media/atomisp/pci/atomisp_subdev.c
index 3d56ca83ecb7..cef44ec9ebde 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_subdev.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_subdev.c
@@ -808,7 +808,7 @@ static int isp_subdev_init_entities(struct atomisp_sub_device *asd)
 	int ret;
 
 	v4l2_subdev_init(sd, &isp_subdev_v4l2_ops);
-	sprintf(sd->name, "Atom ISP");
+	strscpy(sd->name, "Atom ISP");
 	v4l2_set_subdevdata(sd, asd);
 	sd->flags |= V4L2_SUBDEV_FL_HAS_EVENTS | V4L2_SUBDEV_FL_HAS_DEVNODE;
 
-- 
2.53.0
Re: [PATCH] staging: atomisp: replace sprintf with strscpy
Posted by Dan Carpenter 1 month, 1 week ago
On Wed, Feb 25, 2026 at 09:45:48PM +0100, tomasz.unger@yahoo.pl wrote:
> From: Tomasz Unger <tomasz.unger@yahoo.pl>
> 
> Replace deprecated sprintf() with strscpy() which is the preferred
> kernel API for string copying. strscpy() is safer as it guarantees
> null-termination and prevents potential buffer overflows.
> 

Technically sprintf() also guarantees NUL termination.  :P

When you're writing a commit like this I want the first or second
sentence to say "This patch does not affect run-time because sd->name
is a 52 character buffer."  I would prefer to avoid any talk about
"potential buffer overflows."  It's the same as me claiming that I am
potentially an NBA star.  Something like this:

    I am doing an audit of calls to sprintf().  This code is fine
    because we are copying 9 characters into a 52 character buffer.
    But it would be cleaner to use strscpy() instead.

> Since sd->name is a fixed-size array, the destination buffer size
> is deduced automatically by the kernel-defined strscpy() macro,
> so no explicit size parameter is needed.
> 
> Compiled and tested by loading atomisp.ko module successfully.

This information should go under the --- cut off line.

> 
> Signed-off-by: Tomasz Unger <tomasz.unger@yahoo.pl>
> ---
  ^^^
Here.

regards,
dan carpenter