diff options
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/control.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index 7a4d8690ce41..3fa1171dc1c2 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -758,36 +758,6 @@ static int snd_ctl_elem_list(struct snd_card *card, return err; } -static bool validate_element_member_dimension(struct snd_ctl_elem_info *info) -{ - unsigned int members; - unsigned int i; - - if (info->dimen.d[0] == 0) - return true; - - members = 1; - for (i = 0; i < ARRAY_SIZE(info->dimen.d); ++i) { - if (info->dimen.d[i] == 0) - break; - members *= info->dimen.d[i]; - - /* - * info->count should be validated in advance, to guarantee - * calculation soundness. - */ - if (members > info->count) - return false; - } - - for (++i; i < ARRAY_SIZE(info->dimen.d); ++i) { - if (info->dimen.d[i] > 0) - return false; - } - - return members == info->count; -} - static int snd_ctl_elem_info(struct snd_ctl_file *ctl, struct snd_ctl_elem_info *info) { @@ -1280,8 +1250,6 @@ static int snd_ctl_elem_add(struct snd_ctl_file *file, if (info->count < 1 || info->count > max_value_counts[info->type]) return -EINVAL; - if (!validate_element_member_dimension(info)) - return -EINVAL; private_size = value_sizes[info->type] * info->count; /* |