drivers/acpi/thermal.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
thermal: prefer strscpy() over strcpy()
strcpy() is generally considered unsafe and use of strscpy() is
recommended [1]
this fixes checkpatch warning:
WARNING: Prefer strscpy over strcpy
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
Signed-off-by: Abdul Rahim <abdul.rahim@myyahoo.com>
---
drivers/acpi/thermal.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index 78db38c7076e..a35e40976763 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -796,9 +796,9 @@ static int acpi_thermal_add(struct acpi_device *device)
return -ENOMEM;
tz->device = device;
- strcpy(tz->name, device->pnp.bus_id);
- strcpy(acpi_device_name(device), ACPI_THERMAL_DEVICE_NAME);
- strcpy(acpi_device_class(device), ACPI_THERMAL_CLASS);
+ strscpy(tz->name, device->pnp.bus_id);
+ strscpy(acpi_device_name(device), ACPI_THERMAL_DEVICE_NAME, MAX_ACPI_DEVICE_NAME_LEN);
+ strscpy(acpi_device_class(device), ACPI_THERMAL_CLASS);
device->driver_data = tz;
acpi_thermal_aml_dependency_fix(tz);
--
2.43.0
Le 12/09/2024 à 22:59, Abdul Rahim a écrit : > thermal: prefer strscpy() over strcpy() > > strcpy() is generally considered unsafe and use of strscpy() is > recommended [1] > > this fixes checkpatch warning: > WARNING: Prefer strscpy over strcpy > > Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1] > Signed-off-by: Abdul Rahim <abdul.rahim@myyahoo.com> > --- > drivers/acpi/thermal.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c > index 78db38c7076e..a35e40976763 100644 > --- a/drivers/acpi/thermal.c > +++ b/drivers/acpi/thermal.c > @@ -796,9 +796,9 @@ static int acpi_thermal_add(struct acpi_device *device) > return -ENOMEM; > > tz->device = device; > - strcpy(tz->name, device->pnp.bus_id); > - strcpy(acpi_device_name(device), ACPI_THERMAL_DEVICE_NAME); > - strcpy(acpi_device_class(device), ACPI_THERMAL_CLASS); > + strscpy(tz->name, device->pnp.bus_id); > + strscpy(acpi_device_name(device), ACPI_THERMAL_DEVICE_NAME, MAX_ACPI_DEVICE_NAME_LEN); Why the 3 parameters version here only? Is it needed? CJ > + strscpy(acpi_device_class(device), ACPI_THERMAL_CLASS); > device->driver_data = tz; > > acpi_thermal_aml_dependency_fix(tz);
On Fri, Sep 13, 2024 at 05:17:58PM GMT, Christophe JAILLET wrote: > Le 12/09/2024 � 22:59, Abdul Rahim a �crit�: > > thermal: prefer strscpy() over strcpy() > > > > strcpy() is generally considered unsafe and use of strscpy() is > > recommended [1] > > > > this fixes checkpatch warning: > > WARNING: Prefer strscpy over strcpy > > > > Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1] > > Signed-off-by: Abdul Rahim <abdul.rahim@myyahoo.com> > > --- > > drivers/acpi/thermal.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c > > index 78db38c7076e..a35e40976763 100644 > > --- a/drivers/acpi/thermal.c > > +++ b/drivers/acpi/thermal.c > > @@ -796,9 +796,9 @@ static int acpi_thermal_add(struct acpi_device *device) > > return -ENOMEM; > > tz->device = device; > > - strcpy(tz->name, device->pnp.bus_id); > > - strcpy(acpi_device_name(device), ACPI_THERMAL_DEVICE_NAME); > > - strcpy(acpi_device_class(device), ACPI_THERMAL_CLASS); > > + strscpy(tz->name, device->pnp.bus_id); > > + strscpy(acpi_device_name(device), ACPI_THERMAL_DEVICE_NAME, MAX_ACPI_DEVICE_NAME_LEN); > > Why the 3 parameters version here only? > Is it needed? > > CJ > > > + strscpy(acpi_device_class(device), ACPI_THERMAL_CLASS); > > device->driver_data = tz; > > acpi_thermal_aml_dependency_fix(tz); You are correct, it's actually not needed. "The size argument ... is only required when dst is not an array" [1] And destination buffers here are actually arrays from `include/acpi/acpi_bus.h` ``` typedef char acpi_bus_id[8]; ... typedef char acpi_device_name[40]; typedef char acpi_device_class[20]; ``` https://docs.kernel.org/core-api/kernel-api.html#c.strscpy [1] I will resend this patch, with the parameter removed. Thanks, Abdul Rahim
© 2016 - 2024 Red Hat, Inc.