2022-09-19 03:18:21

by CGEL

[permalink] [raw]
Subject: [PATCH] power: supply: use strscpy() is more robust and safer

From: Minghao Chi <[email protected]>

The implementation of strscpy() is more robust and safer.

That's now the recommended way to copy NUL terminated strings.

Reported-by: Zeal Robot <[email protected]>
Signed-off-by: Minghao Chi <[email protected]>
---
drivers/power/supply/max1721x_battery.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/power/supply/max1721x_battery.c b/drivers/power/supply/max1721x_battery.c
index 473e53cd2801..0f948db958d5 100644
--- a/drivers/power/supply/max1721x_battery.c
+++ b/drivers/power/supply/max1721x_battery.c
@@ -384,7 +384,7 @@ static int devm_w1_max1721x_add_device(struct w1_slave *sl)
}

if (!info->ManufacturerName[0])
- strncpy(info->ManufacturerName, DEF_MFG_NAME,
+ strscpy(info->ManufacturerName, DEF_MFG_NAME,
2 * MAX1721X_REG_MFG_NUMB);

if (get_string(info, MAX1721X_REG_DEV_STR,
@@ -403,15 +403,15 @@ static int devm_w1_max1721x_add_device(struct w1_slave *sl)

switch (dev_name & MAX172XX_DEV_MASK) {
case MAX172X1_DEV:
- strncpy(info->DeviceName, DEF_DEV_NAME_MAX17211,
+ strscpy(info->DeviceName, DEF_DEV_NAME_MAX17211,
2 * MAX1721X_REG_DEV_NUMB);
break;
case MAX172X5_DEV:
- strncpy(info->DeviceName, DEF_DEV_NAME_MAX17215,
+ strscpy(info->DeviceName, DEF_DEV_NAME_MAX17215,
2 * MAX1721X_REG_DEV_NUMB);
break;
default:
- strncpy(info->DeviceName, DEF_DEV_NAME_UNKNOWN,
+ strscpy(info->DeviceName, DEF_DEV_NAME_UNKNOWN,
2 * MAX1721X_REG_DEV_NUMB);
}
}
--
2.25.1


2023-02-03 13:00:53

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] power: supply: use strscpy() is more robust and safer

Hi,

On Mon, Sep 19, 2022 at 02:49:19AM +0000, [email protected] wrote:
> From: Minghao Chi <[email protected]>
>
> The implementation of strscpy() is more robust and safer.
>
> That's now the recommended way to copy NUL terminated strings.
>
> Reported-by: Zeal Robot <[email protected]>
> Signed-off-by: Minghao Chi <[email protected]>
> ---

Sorry, this fell between the cracks. Applied now, thanks!

-- Sebastian

> drivers/power/supply/max1721x_battery.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/power/supply/max1721x_battery.c b/drivers/power/supply/max1721x_battery.c
> index 473e53cd2801..0f948db958d5 100644
> --- a/drivers/power/supply/max1721x_battery.c
> +++ b/drivers/power/supply/max1721x_battery.c
> @@ -384,7 +384,7 @@ static int devm_w1_max1721x_add_device(struct w1_slave *sl)
> }
>
> if (!info->ManufacturerName[0])
> - strncpy(info->ManufacturerName, DEF_MFG_NAME,
> + strscpy(info->ManufacturerName, DEF_MFG_NAME,
> 2 * MAX1721X_REG_MFG_NUMB);
>
> if (get_string(info, MAX1721X_REG_DEV_STR,
> @@ -403,15 +403,15 @@ static int devm_w1_max1721x_add_device(struct w1_slave *sl)
>
> switch (dev_name & MAX172XX_DEV_MASK) {
> case MAX172X1_DEV:
> - strncpy(info->DeviceName, DEF_DEV_NAME_MAX17211,
> + strscpy(info->DeviceName, DEF_DEV_NAME_MAX17211,
> 2 * MAX1721X_REG_DEV_NUMB);
> break;
> case MAX172X5_DEV:
> - strncpy(info->DeviceName, DEF_DEV_NAME_MAX17215,
> + strscpy(info->DeviceName, DEF_DEV_NAME_MAX17215,
> 2 * MAX1721X_REG_DEV_NUMB);
> break;
> default:
> - strncpy(info->DeviceName, DEF_DEV_NAME_UNKNOWN,
> + strscpy(info->DeviceName, DEF_DEV_NAME_UNKNOWN,
> 2 * MAX1721X_REG_DEV_NUMB);
> }
> }
> --
> 2.25.1


Attachments:
(No filename) (1.73 kB)
signature.asc (833.00 B)
Download all attachments