Re: [PATCH 0/7] ALSA: remove remaining strlcat() users under sound/
From: David Laight
Date: Fri Aug 07 2026 - 09:15:23 EST
On Fri, 07 Aug 2026 14:15:27 +0200
Takashi Iwai <tiwai@xxxxxxx> wrote:
> 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.
Agreed.
Changing the code to not need strcat() is one thing, repeatedly
implementing a different version is silly.
Even using seq_buf isn't always ideal.
David
>
>
> thanks,
>
> Takashi
>