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.

Fixes: 92c4a95ec7 ("pinctrl: Add new function 
pinctrl_generic_set_state_prefix()")
Signed-off-by: John Keeping <j...@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

Reply via email to