| From cc9dbfa9707868fb0ca864c05e0c42d3f4d15cf2 Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Wed, 13 Nov 2019 12:12:59 +0100 |
| Subject: ALSA: usb-audio: Fix incorrect NULL check in create_yamaha_midi_quirk() |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit cc9dbfa9707868fb0ca864c05e0c42d3f4d15cf2 upstream. |
| |
| The commit 60849562a5db ("ALSA: usb-audio: Fix possible NULL |
| dereference at create_yamaha_midi_quirk()") added NULL checks in |
| create_yamaha_midi_quirk(), but there was an overlook. The code |
| allows one of either injd or outjd is NULL, but the second if check |
| made returning -ENODEV if any of them is NULL. Fix it in a proper |
| form. |
| |
| Fixes: 60849562a5db ("ALSA: usb-audio: Fix possible NULL dereference at create_yamaha_midi_quirk()") |
| Reported-by: Pavel Machek <pavel@denx.de> |
| Cc: <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20191113111259.24123-1-tiwai@suse.de |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/usb/quirks.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/sound/usb/quirks.c |
| +++ b/sound/usb/quirks.c |
| @@ -259,8 +259,8 @@ static int create_yamaha_midi_quirk(stru |
| NULL, USB_MS_MIDI_OUT_JACK); |
| if (!injd && !outjd) |
| return -ENODEV; |
| - if (!(injd && snd_usb_validate_midi_desc(injd)) || |
| - !(outjd && snd_usb_validate_midi_desc(outjd))) |
| + if ((injd && !snd_usb_validate_midi_desc(injd)) || |
| + (outjd && !snd_usb_validate_midi_desc(outjd))) |
| return -ENODEV; |
| if (injd && (injd->bLength < 5 || |
| (injd->bJackType != USB_MS_EMBEDDED && |