From: Oliver Neukum Date: Thu, 20 Nov 2014 13:54:35 +0000 (+0100) Subject: cdc-acm: memory leak in error case X-Git-Tag: v3.4.107~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=affd0637d5b1569ed8537b2bbe113da93e5ae734;p=thirdparty%2Fkernel%2Fstable.git cdc-acm: memory leak in error case commit d908f8478a8d18e66c80a12adb27764920c1f1ca upstream. If probe() fails not only the attributes need to be removed but also the memory freed. Reported-by: Ahmed Tamrawi Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman Signed-off-by: Zefan Li --- diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 8f4a628d33825..cd8550a18282f 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -1429,6 +1429,7 @@ static void acm_disconnect(struct usb_interface *intf) &dev_attr_wCountryCodes); device_remove_file(&acm->control->dev, &dev_attr_iCountryCodeRelDate); + kfree(acm->country_codes); } device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities); usb_set_intfdata(acm->control, NULL);