On Fri, Jul 19, 2024 at 4:28 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > On Fri, Jul 19, 2024, at 16:10, Bartosz Golaszewski wrote: > >> diff --git a/drivers/gpio/gpio-virtuser.c b/drivers/gpio/gpio-virtuser.c > >> index 0e0d55da4f01..c55b72e426c7 100644 > >> --- a/drivers/gpio/gpio-virtuser.c > >> +++ b/drivers/gpio/gpio-virtuser.c > >> @@ -805,7 +805,7 @@ static int gpio_virtuser_dbgfs_init_line_attrs(struct device *dev, > >> return -ENOMEM; > >> > >> data->ad.desc = desc; > >> - sprintf(data->consumer, id); > >> + sprintf(data->consumer, "%s", id); > >> atomic_set(&data->irq, 0); > >> atomic_set(&data->irq_count, 0); > >> > >> -- > >> 2.39.2 > >> > > > > I know this should not happen as the string is checked for length when > > it is set over configfs but while we're at it: maybe make it 100% > > correct by using snprintf(data->consumer, sizeof(data->consumer), ...? > > Actually I now think this should just be > > strscpy(data->consumer, id); > > There was never a reason to use sprintf() here at all. > strscpy() does both the correct size check and avoids > treating it as a format string. > > Arnd Even better! Bart