Re: [PATCH 0/7] ALSA: remove remaining strlcat() users under sound/
From: Takashi Iwai
Date: Fri Aug 07 2026 - 08:18:04 EST
On Fri, 07 Aug 2026 13:41:32 +0200,
Mahad Ibrahim wrote:
>
> strlcat() is deprecated and slated for removal once its remaining
> users are converted. This series converts the sound/ users outside
> of ASoC.
>
> Each site is converted to an explicit offset plus a bounded copy:
> strscpy() where the appended text has no format specifiers, and
> scnprintf() where it does or where the resulting length is needed.
>
> After this series the only remaining strlcat() user under sound/ is
> sound/soc/codecs/wm_adsp_fw_find_test.c, which goes via ASoC.
>
> Build-tested with allmodconfig and boot-tested on x86_64.
>
> The generated strings were checked against the pre-patch code in a
> userspace harness for empty, whitespace-padded, exact-fit and
> oversized inputs, and came out identical. No audio hardware was
> available here, so the drivers themselves have not been exercised at
> runtime.
>
> Mahad Ibrahim (7):
> ALSA: ump: replace strlcat() with strscpy()
> ALSA: ac97: replace strlcat() with scnprintf()
> ALSA: cmipci: replace strlcat() with strscpy()
> ALSA: caiaq: replace strlcat() with strscpy()
> ALSA: usb-audio: replace strlcat() with append_ctl_name()
> ALSA: hiface: replace strlcat() with scnprintf()
> ALSA: usb-audio: replace strlcat() in longname construction
Honestly speaking, I'm against those conversions.
Why do we have to open-code at each place with strlen()+strscpy()?
It's just harder to read than strlcat(), even more error-prone.
If an alternative is something like this, we really should reconsider.
thanks,
Takashi