| From 599151336638d57b98d92338aa59c048e3a3e97d Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Mon, 25 Jan 2016 11:01:47 +0100 |
| Subject: ALSA: seq: Fix incorrect sanity check at snd_seq_oss_synth_cleanup() |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 599151336638d57b98d92338aa59c048e3a3e97d upstream. |
| |
| ALSA sequencer OSS emulation code has a sanity check for currently |
| opened devices, but there is a thinko there, eventually it spews |
| warnings and skips the operation wrongly like: |
| WARNING: CPU: 1 PID: 7573 at sound/core/seq/oss/seq_oss_synth.c:311 |
| |
| Fix this off-by-one error. |
| |
| Reported-by: Dmitry Vyukov <dvyukov@google.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/core/seq/oss/seq_oss_synth.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/sound/core/seq/oss/seq_oss_synth.c |
| +++ b/sound/core/seq/oss/seq_oss_synth.c |
| @@ -308,7 +308,7 @@ snd_seq_oss_synth_cleanup(struct seq_oss |
| struct seq_oss_synth *rec; |
| struct seq_oss_synthinfo *info; |
| |
| - if (snd_BUG_ON(dp->max_synthdev >= SNDRV_SEQ_OSS_MAX_SYNTH_DEVS)) |
| + if (snd_BUG_ON(dp->max_synthdev > SNDRV_SEQ_OSS_MAX_SYNTH_DEVS)) |
| return; |
| for (i = 0; i < dp->max_synthdev; i++) { |
| info = &dp->synths[i]; |