summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorChristian Engelmayer <cengelma@gmx.at>2015-02-11 23:58:23 +0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-04-08 14:12:00 +0300
commitec73b9fdc7c4fe3da8937a8e7b6a03a1e002d6ac (patch)
tree6a2661e8d3c9860f70f21bafb36848051c2131c7 /drivers/media
parent51b5b3d6c96ee244c51ec57265fc3c5ae5897610 (diff)
downloadlinux-ec73b9fdc7c4fe3da8937a8e7b6a03a1e002d6ac.tar.xz
[media] si2165: Fix possible leak in si2165_upload_firmware()
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>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb-frontends/si2165.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c
index 98ddb49ad52b..4cc5d10ed0d4 100644
--- a/drivers/media/dvb-frontends/si2165.c
+++ b/drivers/media/dvb-frontends/si2165.c
@@ -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);