[ALSA] rawmidi: protect against invalid device number in snd_rawmidi_info_select()
Clemens Ladisch [Sun, 20 Nov 2005 12:59:56 +0000 (13:59 +0100)]
Modules: RawMidi Midlevel

In snd_rawmidi_info_select(), check that the device identified by the
passed device number actually exists.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>

sound/core/rawmidi.c

index 7a86a9a..d703545 100644 (file)
@@ -573,6 +573,8 @@ int snd_rawmidi_info_select(struct snd_card *card, struct snd_rawmidi_info *info
        if (info->device >= SNDRV_RAWMIDI_DEVICES)
                return -ENXIO;
        rmidi = snd_rawmidi_devices[card->number * SNDRV_RAWMIDI_DEVICES + info->device];
+       if (!rmidi)
+               return -ENXIO;
        if (info->stream < 0 || info->stream > 1)
                return -EINVAL;
        pstr = &rmidi->streams[info->stream];