author | Dan Carpenter <dan.carpenter@oracle.com> | |
Fri, 15 Mar 2013 06:14:22 +0000 (09:14 +0300) | ||
committer | Takashi Iwai <tiwai@suse.de> | |
Fri, 15 Mar 2013 06:45:20 +0000 (07:45 +0100) | ||
commit | 57220bc1f5924c869d8fc049e50169915ca0cb24 | |
tree | 8807533cccbd92a61fbb49640c47ef7e7f368363 | tree | snapshot (tar.xz tar.gz zip) |
parent | b714a7106ba5423c418c25e6231116560f8a9ef8 | commit | diff |
sound: sequencer: cap array index in seq_chn_common_event()
"chn" here is a number between 0 and 255, but ->chn_info[] only has
16 elements so there is a potential write beyond the end of the
array.
If the seq_mode isn't SEQ_2 then we let the individual drivers
(either opl3.c or midi_synth.c) handle it. Those functions all
do a bounds check on "chn" so I haven't changed anything here.
The opl3.c driver has up to 18 channels and not 16.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
"chn" here is a number between 0 and 255, but ->chn_info[] only has
16 elements so there is a potential write beyond the end of the
array.
If the seq_mode isn't SEQ_2 then we let the individual drivers
(either opl3.c or midi_synth.c) handle it. Those functions all
do a bounds check on "chn" so I haven't changed anything here.
The opl3.c driver has up to 18 channels and not 16.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/oss/sequencer.c | diff | blob | history |