Re: [PATCH AUTOSEL 5.10 26/38] ALSA: vmaster: Return error for invalid input values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi!

> From: Takashi Iwai <tiwai@xxxxxxx>
> 
> [ Upstream commit 10457f5042b4890a667e2f15a2e783490dda44d2 ]
> 
> So far the vmaster code has been tolerant about the input values and
> accepts any values by correcting internally.  But now our own selftest
> starts complaining about this behavior, so let's be picky and change
> the behavior to return -EINVAL for invalid input values instead.

Does it fix a bug serious enough for -stable?

Best regards,
								Pavel

> +++ b/sound/core/vmaster.c
> @@ -204,6 +204,12 @@ static int follower_put(struct snd_kcontrol *kcontrol,
>  	err = follower_init(follower);
>  	if (err < 0)
>  		return err;
> +	for (ch = 0; ch < follower->info.count; ch++) {
> +		if (ucontrol->value.integer.value[ch] < follower->info.min_val ||
> +		    ucontrol->value.integer.value[ch] > follower->info.max_val)
> +			return -EINVAL;
> +	}
> +
>  	for (ch = 0; ch < follower->info.count; ch++) {
>  		if (follower->vals[ch] != ucontrol->value.integer.value[ch]) {
>  			changed = 1;
> @@ -344,6 +350,8 @@ static int master_put(struct snd_kcontrol *kcontrol,
>  	new_val = ucontrol->value.integer.value[0];
>  	if (new_val == old_val)
>  		return 0;
> +	if (new_val < master->info.min_val || new_val > master->info.max_val)
> +		return -EINVAL;
>  
>  	err = sync_followers(master, old_val, new_val);
>  	if (err < 0)

-- 
DENX Software Engineering GmbH,        Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux