From: Mahad Ibrahim <mahad.ibrahim.dev@gmail.com>
To: Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>
Cc: Kees Cook <kees@kernel.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
Mahad Ibrahim <mahad.ibrahim.dev@gmail.com>
Subject: [PATCH 5/7] ALSA: usb-audio: replace strlcat() with append_ctl_name()
Date: Fri, 7 Aug 2026 11:41:37 +0000 [thread overview]
Message-ID: <20260807114139.1661-6-mahad.ibrahim.dev@gmail.com> (raw)
In-Reply-To: <20260807114139.1661-1-mahad.ibrahim.dev@gmail.com>
append_ctl_name() appended to kctl->id.name with strlcat() and
returned its result. build_connector_control() open-coded the same
append for the " Jack" suffix rather than calling the helper.
Take the length of the existing name and write the suffix at that
offset with strscpy(). The return value is rebuilt as the offset plus
the length of the appended string, which is what strlcat() returns:
the length the caller asked for, whether or not it fit. No caller
currently uses it. While here, call append_ctl_name() for the " Jack"
suffix instead of repeating the append inline.
The name that ends up in kctl->id.name is unchanged, and so is the
value returned to callers.
Signed-off-by: Mahad Ibrahim <mahad.ibrahim.dev@gmail.com>
---
sound/usb/mixer.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 703c118f9d4e..77335bc89aa0 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1748,7 +1748,11 @@ const struct snd_kcontrol_new *snd_usb_feature_unit_ctl = &usb_feature_unit_ctl;
*/
static size_t append_ctl_name(struct snd_kcontrol *kctl, const char *str)
{
- return strlcat(kctl->id.name, str, sizeof(kctl->id.name));
+ size_t len = strlen(kctl->id.name);
+
+ strscpy(kctl->id.name + len, str, sizeof(kctl->id.name) - len);
+
+ return len + strlen(str);
}
/*
@@ -2116,7 +2120,7 @@ static void build_connector_control(struct usb_mixer_interface *mixer,
}
if (check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name)))
- strlcat(kctl->id.name, " Jack", sizeof(kctl->id.name));
+ append_ctl_name(kctl, " Jack");
else
get_connector_control_name(mixer, term, is_input, kctl->id.name,
sizeof(kctl->id.name));
--
2.54.0
next prev parent reply other threads:[~2026-08-07 11:42 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 11:41 [PATCH 0/7] ALSA: remove remaining strlcat() users under sound/ Mahad Ibrahim
2026-08-07 11:41 ` [PATCH 1/7] ALSA: ump: replace strlcat() with strscpy() Mahad Ibrahim
2026-08-07 11:41 ` [PATCH 2/7] ALSA: ac97: replace strlcat() with scnprintf() Mahad Ibrahim
2026-08-07 11:41 ` [PATCH 3/7] ALSA: cmipci: replace strlcat() with strscpy() Mahad Ibrahim
2026-08-07 11:41 ` [PATCH 4/7] ALSA: caiaq: " Mahad Ibrahim
2026-08-07 11:41 ` Mahad Ibrahim [this message]
2026-08-07 11:41 ` [PATCH 6/7] ALSA: hiface: replace strlcat() with scnprintf() Mahad Ibrahim
2026-08-07 11:41 ` [PATCH 7/7] ALSA: usb-audio: replace strlcat() in longname construction Mahad Ibrahim
2026-08-07 12:15 ` [PATCH 0/7] ALSA: remove remaining strlcat() users under sound/ Takashi Iwai
2026-08-07 13:04 ` David Laight
2026-08-07 15:41 ` Mahad Ibrahim
2026-08-07 16:03 ` Takashi Iwai
2026-08-07 21:46 ` Kees Cook
2026-08-08 13:04 ` David Laight
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260807114139.1661-6-mahad.ibrahim.dev@gmail.com \
--to=mahad.ibrahim.dev@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=kees@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox