From: Takashi Iwai Date: Wed, 11 Mar 2015 17:12:49 +0000 (+0100) Subject: ALSA: control: Add sanity checks for user ctl id name string X-Git-Tag: v3.4.108~83 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29311e6caba6c292885756049184f5a44f4607f5;p=thirdparty%2Fkernel%2Fstable.git ALSA: control: Add sanity checks for user ctl id name string commit be3bb8236db2d0fcd705062ae2e2a9d75131222f upstream. There was no check about the id string of user control elements, so we accepted even a control element with an empty string, which is obviously bogus. This patch adds more sanity checks of id strings. Signed-off-by: Takashi Iwai Signed-off-by: Zefan Li --- diff --git a/sound/core/control.c b/sound/core/control.c index e773d5ed1e9a7..8fb4d24b920dc 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -1164,6 +1164,10 @@ static int snd_ctl_elem_add(struct snd_ctl_file *file, if (info->count < 1) return -EINVAL; + if (!*info->id.name) + return -EINVAL; + if (strnlen(info->id.name, sizeof(info->id.name)) >= sizeof(info->id.name)) + return -EINVAL; access = info->access == 0 ? SNDRV_CTL_ELEM_ACCESS_READWRITE : (info->access & (SNDRV_CTL_ELEM_ACCESS_READWRITE| SNDRV_CTL_ELEM_ACCESS_INACTIVE|