[PATCH v1 1/1] relay: Use kasprintf() instead of fixed buffer formatting

From: Andy Shevchenko
Date: Mon Mar 17 2025 - 17:29:06 EST


Improve readability and maintainability by replacing a hard coded
string allocation and formatting by using the kasprintf() helper.

It also eliminates the GCC compiler warning (with CONFIG_WERROR=y,
which is default, it becomes an error:

kernel/relay.c:357:42: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation=]

Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
kernel/relay.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/relay.c b/kernel/relay.c
index a8ae436dc77e..5ac7e711e4b6 100644
--- a/kernel/relay.c
+++ b/kernel/relay.c
@@ -351,10 +351,9 @@ static struct dentry *relay_create_buf_file(struct rchan *chan,
struct dentry *dentry;
char *tmpname;

- tmpname = kzalloc(NAME_MAX + 1, GFP_KERNEL);
+ tmpname = kasprintf(GFP_KERNEL, "%s%d", chan->base_filename, cpu);
if (!tmpname)
return NULL;
- snprintf(tmpname, NAME_MAX, "%s%d", chan->base_filename, cpu);

/* Create file in fs */
dentry = chan->cb->create_buf_file(tmpname, chan->parent,
--
2.47.2