mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-07 13:53:24 +00:00
kselftest: alsa: Validate values read from enumerations
Enumerations should return a value between 0 and items-1, check that this is the case. Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20211217130213.3893415-3-broonie@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
3f48b137d8
commit
10f2f19466
@ -276,6 +276,23 @@ bool ctl_value_index_valid(struct ctl_data *ctl, snd_ctl_elem_value_t *val,
|
||||
}
|
||||
break;
|
||||
|
||||
case SND_CTL_ELEM_TYPE_ENUMERATED:
|
||||
int_val = snd_ctl_elem_value_get_enumerated(val, index);
|
||||
|
||||
if (int_val < 0) {
|
||||
ksft_print_msg("%s.%d negative value %ld for enumeration\n",
|
||||
ctl->name, index, int_val);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (int_val >= snd_ctl_elem_info_get_items(ctl->info)) {
|
||||
ksft_print_msg("%s.%d value %ld more than item count %ld\n",
|
||||
ctl->name, index, int_val,
|
||||
snd_ctl_elem_info_get_items(ctl->info));
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
/* No tests for other types */
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user