[PATCH] pinctrl: fix buffer size for pinctrl_generic_set_state_prefix()

Pali Rohár pali at kernel.org
Wed Sep 7 13:15:42 CEST 2022


On Wednesday 07 September 2022 12:11:42 John Keeping wrote:
> This buffer has the concatenated prefix and name written into it, so it
> must be large enough to cover both strings plus the terminating NUL.

You are right. Not sure why I put there sizeof("pins") (maybe old
version when name was only pins).

Reviewed-by: Pali Rohár <pali at kernel.org>

> Fixes: 92c4a95ec7 ("pinctrl: Add new function pinctrl_generic_set_state_prefix()")
> Signed-off-by: John Keeping <john at metanate.com>
> ---
>  drivers/pinctrl/pinctrl-generic.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-generic.c b/drivers/pinctrl/pinctrl-generic.c
> index ec21d4ff83..8909b57810 100644
> --- a/drivers/pinctrl/pinctrl-generic.c
> +++ b/drivers/pinctrl/pinctrl-generic.c
> @@ -237,7 +237,7 @@ enum pinmux_subnode_type {
>  static const char *alloc_name_with_prefix(const char *name, const char *prefix)
>  {
>  	if (prefix) {
> -		char *name_with_prefix = malloc(strlen(prefix) + sizeof("pins"));
> +		char *name_with_prefix = malloc(strlen(prefix) + strlen(name) + 1);
>  		if (name_with_prefix)
>  			sprintf(name_with_prefix, "%s%s", prefix, name);
>  		return name_with_prefix;
> -- 
> 2.37.3
> 


More information about the U-Boot mailing list