Commit 5f6af005 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda: generic: Check potential mixer name string truncation

add_control_with_pfx() constructs a mixer name element with the fixed
size, and it got compile warnings with -Wformat-truncation.

Although the size overflow is very unlikely, let's have a sanity check
of the string size and returns the error if it really doesn't fit
instead of silent truncation.

Link: https://lore.kernel.org/r/20230915082802.28684-14-tiwai@suse.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 28329936
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -998,7 +998,11 @@ static int add_control_with_pfx(struct hda_gen_spec *spec, int type,
				const char *sfx, int cidx, unsigned long val)
{
	char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
	snprintf(name, sizeof(name), "%s %s %s", pfx, dir, sfx);
	int len;

	len = snprintf(name, sizeof(name), "%s %s %s", pfx, dir, sfx);
	if (snd_BUG_ON(len >= sizeof(name)))
		return -EINVAL;
	if (!add_control(spec, type, name, cidx, val))
		return -ENOMEM;
	return 0;