mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
ALSA: seq: potential out of bounds in do_control()
Smatch complains that "control" is user specifigy and needs to be capped. The call tree to understand this warning is quite long. snd_seq_write() <-- get the event from the user snd_seq_client_enqueue_event() snd_seq_deliver_event() deliver_to_subscribers() snd_seq_deliver_single_event() snd_opl3_oss_event_input() snd_midi_process_event() do_control() Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
25a0707cf6
commit
0b444af8da
@ -269,6 +269,9 @@ do_control(struct snd_midi_op *ops, void *drv, struct snd_midi_channel_set *chse
|
||||
{
|
||||
int i;
|
||||
|
||||
if (control >= ARRAY_SIZE(chan->control))
|
||||
return;
|
||||
|
||||
/* Switches */
|
||||
if ((control >=64 && control <=69) || (control >= 80 && control <= 83)) {
|
||||
/* These are all switches; either off or on so set to 0 or 127 */
|
||||
|
Loading…
Reference in New Issue
Block a user