[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251229112649.137391-1-sun.jian.kdev@gmail.com>
Date: Mon, 29 Dec 2025 19:26:49 +0800
From: Sun Jian <sun.jian.kdev@...il.com>
To: Vaibhav Agarwal <vaibhav.sr@...il.com>
Cc: Mark Greer <mgreer@...malcreek.com>,
Alex Elder <elder@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
greybus-dev@...ts.linaro.org,
linux-staging@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Sun Jian <sun.jian.kdev@...il.com>
Subject: [PATCH] staging: greybus: audio: avoid snprintf truncation warnings
W=1 reports possible truncation when formatting widget and control names
using snprintf() with a %s argument and fixed-size buffers. Build the
prefixed names using scnprintf() plus strlcat() instead, so truncation,
if any, is handled by the string helpers rather than during printf
formatting.
No functional change intended.
Signed-off-by: Sun Jian <sun.jian.kdev@...il.com>
---
drivers/staging/greybus/audio_topology.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/greybus/audio_topology.c b/drivers/staging/greybus/audio_topology.c
index 76146f91cddc..4293ab899390 100644
--- a/drivers/staging/greybus/audio_topology.c
+++ b/drivers/staging/greybus/audio_topology.c
@@ -1087,7 +1087,8 @@ static int gbaudio_tplg_create_widget(struct gbaudio_module_info *module,
/* Prefix dev_id to widget control_name */
strscpy(temp_name, w->name, sizeof(temp_name));
- snprintf(w->name, sizeof(w->name), "GB %d %s", module->dev_id, temp_name);
+ scnprintf(w->name, sizeof(w->name), "GB %d ", module->dev_id);
+ strlcat(w->name, temp_name, sizeof(w->name));
switch (w->type) {
case snd_soc_dapm_spk:
@@ -1169,8 +1170,8 @@ static int gbaudio_tplg_process_kcontrols(struct gbaudio_module_info *module,
control->id = curr->id;
/* Prefix dev_id to widget_name */
strscpy(temp_name, curr->name, sizeof(temp_name));
- snprintf(curr->name, sizeof(curr->name), "GB %d %s", module->dev_id,
- temp_name);
+ scnprintf(curr->name, sizeof(curr->name), "GB %d ", module->dev_id);
+ strlcat(curr->name, temp_name, sizeof(curr->name));
control->name = curr->name;
if (curr->info.type == GB_AUDIO_CTL_ELEM_TYPE_ENUMERATED) {
struct gb_audio_enumerated *gbenum =
--
2.43.0
Powered by blists - more mailing lists