aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@gmail.com>2016-02-13 11:08:06 +0300
committerSimon Shields <keepcalm444@gmail.com>2016-05-03 22:45:20 +1000
commit33d997e867fb6b5f27bbab34daa2759d9e560201 (patch)
tree8d7bac00ee37248bff38e6ba8513351b90e8396b /sound
parent52e6d89350a3723bd516046303d101aebc36c798 (diff)
downloadkernel_samsung_smdk4412-33d997e867fb6b5f27bbab34daa2759d9e560201.zip
kernel_samsung_smdk4412-33d997e867fb6b5f27bbab34daa2759d9e560201.tar.gz
kernel_samsung_smdk4412-33d997e867fb6b5f27bbab34daa2759d9e560201.tar.bz2
ALSA: usb-audio: avoid freeing umidi object twice
The 'umidi' object will be free'd on the error path by snd_usbmidi_free() when tearing down the rawmidi interface. So we shouldn't try to free it in snd_usbmidi_create() after having registered the rawmidi interface. Found by KASAN. Change-Id: I628889be11651c1e6b90d5c61d041328124deae3 Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com> Acked-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/usb/midi.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/sound/usb/midi.c b/sound/usb/midi.c
index c635a2d..9e864e9 100644
--- a/sound/usb/midi.c
+++ b/sound/usb/midi.c
@@ -2213,7 +2213,6 @@ int snd_usbmidi_create(struct snd_card *card,
else
err = snd_usbmidi_create_endpoints(umidi, endpoints);
if (err < 0) {
- snd_usbmidi_free(umidi);
return err;
}