media: usb: fix memory leak in af9005_identify_state
authorNavid Emamdoost <navid.emamdoost@gmail.com>
Wed, 9 Oct 2019 15:01:47 +0000 (12:01 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2020 09:17:58 +0000 (10:17 +0100)
commit 2289adbfa559050d2a38bcd9caac1c18b800e928 upstream.

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@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/usb/dvb-usb/af9005.c

index 986763b1b2b32a2688a2f9a75db4392bf2bc2d5e..c047a0bdf91f926af4656fb8a710e1209ee32127 100644 (file)
@@ -985,8 +985,9 @@ static int af9005_identify_state(struct usb_device *udev,
        else if (reply == 0x02)
                *cold = 0;
        else
-               return -EIO;
-       deb_info("Identify state cold = %d\n", *cold);
+               ret = -EIO;
+       if (!ret)
+               deb_info("Identify state cold = %d\n", *cold);
 
 err:
        kfree(buf);