|
@@ -1745,6 +1745,8 @@ int snd_ctl_enum_info(struct snd_ctl_elem_info *info, unsigned int channels,
|
|
info->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
|
|
info->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
|
|
info->count = channels;
|
|
info->count = channels;
|
|
info->value.enumerated.items = items;
|
|
info->value.enumerated.items = items;
|
|
|
|
+ if (!items)
|
|
|
|
+ return 0;
|
|
if (info->value.enumerated.item >= items)
|
|
if (info->value.enumerated.item >= items)
|
|
info->value.enumerated.item = items - 1;
|
|
info->value.enumerated.item = items - 1;
|
|
WARN(strlen(names[info->value.enumerated.item]) >= sizeof(info->value.enumerated.name),
|
|
WARN(strlen(names[info->value.enumerated.item]) >= sizeof(info->value.enumerated.name),
|