| From be3bb8236db2d0fcd705062ae2e2a9d75131222f Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Wed, 11 Mar 2015 18:12:49 +0100 |
| Subject: ALSA: control: Add sanity checks for user ctl id name string |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| 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 <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/core/control.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/sound/core/control.c |
| +++ b/sound/core/control.c |
| @@ -1168,6 +1168,10 @@ static int snd_ctl_elem_add(struct snd_c |
| |
| 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| |