diff options
Diffstat (limited to 'sound/core/control.c')
-rw-r--r-- | sound/core/control.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index 35324a8e83c8..eeb691d1911f 100644 --- a/sound/core/control.c +++ b/sound/core/control.c | |||
@@ -1170,6 +1170,10 @@ static int snd_ctl_elem_add(struct snd_ctl_file *file, | |||
1170 | 1170 | ||
1171 | if (info->count < 1) | 1171 | if (info->count < 1) |
1172 | return -EINVAL; | 1172 | return -EINVAL; |
1173 | if (!*info->id.name) | ||
1174 | return -EINVAL; | ||
1175 | if (strnlen(info->id.name, sizeof(info->id.name)) >= sizeof(info->id.name)) | ||
1176 | return -EINVAL; | ||
1173 | access = info->access == 0 ? SNDRV_CTL_ELEM_ACCESS_READWRITE : | 1177 | access = info->access == 0 ? SNDRV_CTL_ELEM_ACCESS_READWRITE : |
1174 | (info->access & (SNDRV_CTL_ELEM_ACCESS_READWRITE| | 1178 | (info->access & (SNDRV_CTL_ELEM_ACCESS_READWRITE| |
1175 | SNDRV_CTL_ELEM_ACCESS_INACTIVE| | 1179 | SNDRV_CTL_ELEM_ACCESS_INACTIVE| |