[PATCH v2] media: usb: fix memory leak in af9005_identify_state

From: Navid Emamdoost
Date: Wed Oct 09 2019 - 11:02:07 EST


In af9005_identify_state when returning -EIO the allocated buffer should
be released. Replace the "return -EIO" with assignment into ret and move
deb_info() under a check.

Fixes: af4e067e1dcf ("V4L/DVB (5625): Add support for the AF9005 demodulator from Afatech")
Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx>
---
Changes in v2:
-- Reused the error handling to release buf
-- Added Fixes tag
---
drivers/media/usb/dvb-usb/af9005.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/media/usb/dvb-usb/af9005.c b/drivers/media/usb/dvb-usb/af9005.c
index 02697d86e8c1..bc6e7659c37b 100644
--- a/drivers/media/usb/dvb-usb/af9005.c
+++ b/drivers/media/usb/dvb-usb/af9005.c
@@ -975,9 +975,10 @@ static int af9005_identify_state(struct usb_device *udev,
*cold = 1;
else if (reply == 0x02)
*cold = 0;
- else
- return -EIO;
- deb_info("Identify state cold = %d\n", *cold);
+ else
+ ret = -EIO;
+ if (!ret)
+ deb_info("Identify state cold = %d\n", *cold);

err:
kfree(buf);
--
2.17.1