[1/1] usb:gadget:function:fix memory leak
From: Xidong Wang <hidden>
Date: 2018-07-23 11:10:21
Also in:
lkml
Subsystem:
the rest, usb subsystem · Maintainers:
Linus Torvalds, Greg Kroah-Hartman
From: Xidong Wang <hidden>
Date: 2018-07-23 11:10:21
Also in:
lkml
Subsystem:
the rest, usb subsystem · Maintainers:
Linus Torvalds, Greg Kroah-Hartman
In function f_audio_set_alt(), the memory allocated by usb_ep_alloc_request() is not released on the error path that req->buf, which holds the return value of kzalloc(), is NULL. This will result in a memory leak bug. Signed-off-by: Xidong Wang <redacted> --- drivers/usb/gadget/function/f_uac1_legacy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/function/f_uac1_legacy.c b/drivers/usb/gadget/function/f_uac1_legacy.c
index 24c086b..2fcdade 100644
--- a/drivers/usb/gadget/function/f_uac1_legacy.c
+++ b/drivers/usb/gadget/function/f_uac1_legacy.c@@ -630,8 +630,11 @@ static int f_audio_set_alt(struct usb_function *f, unsigned intf, unsigned alt) ERROR(cdev, "%s queue req: %d\n", out_ep->name, err); - } else + } else { + usb_ep_free_request( + out_ep, req); err = -ENOMEM; + } } else err = -ENOMEM; }