From: Takashi Iwai Date: Mon, 20 Oct 2014 16:07:21 +0000 (+0200) Subject: ALSA: control: Warn if too long string is passed to snd_ctl_enum_info() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=df803e1389716bcdf11932fff47d7f1fc198bc8a;p=deliverable%2Flinux.git ALSA: control: Warn if too long string is passed to snd_ctl_enum_info() This allows us to catch the bugs in drivers easily. Signed-off-by: Takashi Iwai --- diff --git a/sound/core/control.c b/sound/core/control.c index b9611344ff9e..f95df84437e1 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -1747,6 +1747,9 @@ int snd_ctl_enum_info(struct snd_ctl_elem_info *info, unsigned int channels, info->value.enumerated.items = items; if (info->value.enumerated.item >= items) info->value.enumerated.item = items - 1; + WARN(strlen(names[info->value.enumerated.item]) >= sizeof(info->value.enumerated.name), + "ALSA: too long item name '%s'\n", + names[info->value.enumerated.item]); strlcpy(info->value.enumerated.name, names[info->value.enumerated.item], sizeof(info->value.enumerated.name));