From: Dan Carpenter Date: Tue, 18 Oct 2011 06:25:34 +0000 (+0300) Subject: USB: gadget: midi: memory leak in f_midi_bind_config() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0f8fd43c42f2cc249943be76a4db0d058c16b6dc;p=linux-beck.git USB: gadget: midi: memory leak in f_midi_bind_config() There is a small memory leak on the error paths. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/gadget/f_midi.c b/drivers/usb/gadget/f_midi.c index ef1bc7a174ef..67b222908cf9 100644 --- a/drivers/usb/gadget/f_midi.c +++ b/drivers/usb/gadget/f_midi.c @@ -951,7 +951,7 @@ int __init f_midi_bind_config(struct usb_configuration *c, struct gmidi_in_port *port = kzalloc(sizeof(*port), GFP_KERNEL); if (!port) { status = -ENOMEM; - goto fail; + goto setup_fail; } port->midi = midi; @@ -989,6 +989,8 @@ int __init f_midi_bind_config(struct usb_configuration *c, return 0; setup_fail: + for (--i; i >= 0; i--) + kfree(midi->in_port[i]); kfree(midi); fail: return status;