From 6cd7d5f9870ef548bcb5a941061eeed9ad6b0d16 Mon Sep 17 00:00:00 2001 From: Baptiste Robert Date: Wed, 7 Aug 2013 11:32:45 +0200 Subject: Mixer: Check validity of input value When the user wants to set a mixer with a value greater than the maximum or smaller than the minimum, the mixer is set at an undefined value. This patch set purpose is to return a error if the input value is out of range. Signed-off-by: Baptiste Robert Signed-off-by: David Wagner Author-Tracking-BZ: 129089 --- mixer.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mixer.c') diff --git a/mixer.c b/mixer.c index 8e99fad..b6c854f 100644 --- a/mixer.c +++ b/mixer.c @@ -392,6 +392,11 @@ int mixer_ctl_set_value(struct mixer_ctl *ctl, unsigned int id, int value) break; case SNDRV_CTL_ELEM_TYPE_INTEGER: + if ((value < mixer_ctl_get_range_min(ctl)) || + (value > mixer_ctl_get_range_max(ctl))) { + return -EINVAL; + } + ev.value.integer.value[id] = value; break; -- cgit v1.2.3