diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2007-08-10 03:41:07 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 09:58:38 -0400 |
commit | 0e75182cf34ab7f7f1d88c1231fcc04780a7dc7d (patch) | |
tree | 6d5d27292e10d202ca3ba69e8a4d1ae70a2dd723 /sound/core | |
parent | bf8c1382c0339e95e89394f59a149610dd2d828f (diff) |
[ALSA] seq_midi_event: fix parsing of F9/FD bytes
Check for a valid event type when encoding a system real-time message to
prevent the bytes F9 or FD resulting in an empty sequencer message.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/seq/seq_midi_event.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/core/seq/seq_midi_event.c b/sound/core/seq/seq_midi_event.c index a15f5e68e0b6..46416771c9b3 100644 --- a/sound/core/seq/seq_midi_event.c +++ b/sound/core/seq/seq_midi_event.c | |||
@@ -252,7 +252,7 @@ int snd_midi_event_encode_byte(struct snd_midi_event *dev, int c, | |||
252 | ev->type = status_event[ST_SPECIAL + c - 0xf0].event; | 252 | ev->type = status_event[ST_SPECIAL + c - 0xf0].event; |
253 | ev->flags &= ~SNDRV_SEQ_EVENT_LENGTH_MASK; | 253 | ev->flags &= ~SNDRV_SEQ_EVENT_LENGTH_MASK; |
254 | ev->flags |= SNDRV_SEQ_EVENT_LENGTH_FIXED; | 254 | ev->flags |= SNDRV_SEQ_EVENT_LENGTH_FIXED; |
255 | return 1; | 255 | return ev->type != SNDRV_SEQ_EVENT_NONE; |
256 | } | 256 | } |
257 | 257 | ||
258 | spin_lock_irqsave(&dev->lock, flags); | 258 | spin_lock_irqsave(&dev->lock, flags); |