]> git.karo-electronics.de Git - linux-beck.git/commitdiff
[media] si2165: Fix possible leak in si2165_upload_firmware()
authorChristian Engelmayer <cengelma@gmx.at>
Wed, 11 Feb 2015 20:58:23 +0000 (17:58 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 8 Apr 2015 11:12:00 +0000 (08:12 -0300)
In case of an error function si2165_upload_firmware() releases the already
requested firmware in the exit path. However, there is one deviation where
the function directly returns. Use the correct cleanup so that the firmware
memory gets freed correctly. Detected by Coverity CID 1269120.

Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Reviewed-by: Luis de Bethencourt <luis.bg@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/dvb-frontends/si2165.c

index 98ddb49ad52b1a27a268ef6fabab3d3de97496e7..4cc5d10ed0d43e2740f54846f529569a675829fb 100644 (file)
@@ -505,7 +505,7 @@ static int si2165_upload_firmware(struct si2165_state *state)
        /* reset crc */
        ret = si2165_writereg8(state, 0x0379, 0x01);
        if (ret)
-               return ret;
+               goto error;
 
        ret = si2165_upload_firmware_block(state, data, len,
                                           &offset, block_count);