Re: [PATCH] powercap: Adjust printing the constraint name with new line

From: Rafael J. Wysocki
Date: Tue Nov 10 2020 - 14:20:08 EST


On Mon, Nov 9, 2020 at 6:25 PM Lukasz Luba <lukasz.luba@xxxxxxx> wrote:
>
> The constraint name has limit of size 30, which sometimes might be hit.
> When this happens the new line might be lost. Prevent this and set the
> new line when the name string is too long."
>
> Signed-off-by: Lukasz Luba <lukasz.luba@xxxxxxx>
> ---
> drivers/powercap/powercap_sys.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/powercap/powercap_sys.c b/drivers/powercap/powercap_sys.c
> index f808c5fa9838..575f9fdb810e 100644
> --- a/drivers/powercap/powercap_sys.c
> +++ b/drivers/powercap/powercap_sys.c
> @@ -174,6 +174,10 @@ static ssize_t show_constraint_name(struct device *dev,
> "%s\n", name);
> buf[POWERCAP_CONSTRAINT_NAME_LEN] = '\0';
> len = strlen(buf);
> +
> + /* When the 'name' is too long, don't lose new line */
> + if (strlen(name) >= POWERCAP_CONSTRAINT_NAME_LEN)
> + buf[POWERCAP_CONSTRAINT_NAME_LEN - 1] = '\n';

Wouldn't it be better to pass POWERCAP_CONSTRAINT_NAME_LEN - 1 to
snprintf() above?

> }
> }
>
> --