summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/em28xx/em28xx-input.c
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2014-09-25 08:39:41 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2014-10-24 09:28:12 -0200
commit34d7c248ad28c5d462182c5063523023604efc12 (patch)
treec1fbd7d5199d0fbbdfaa9cbf3673fc67da486600 /drivers/media/usb/em28xx/em28xx-input.c
parent1a5cfd022774a1ff8517f8f2f2da4013ef7c2e4d (diff)
downloadlinux-stable-34d7c248ad28c5d462182c5063523023604efc12.tar.gz
linux-stable-34d7c248ad28c5d462182c5063523023604efc12.tar.bz2
linux-stable-34d7c248ad28c5d462182c5063523023604efc12.zip
[media] em28xx-input: NULL dereference on error
We call "kfree(ir->i2c_client);" in the error handling and that doesn't work if "ir" is NULL. Fixes: 78e719a5f30b ('[media] em28xx-input: i2c IR decoders: improve i2c_client handling') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/usb/em28xx/em28xx-input.c')
-rw-r--r--drivers/media/usb/em28xx/em28xx-input.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-input.c b/drivers/media/usb/em28xx/em28xx-input.c
index 581f6dad4ca9..23f8f6afa2e0 100644
--- a/drivers/media/usb/em28xx/em28xx-input.c
+++ b/drivers/media/usb/em28xx/em28xx-input.c
@@ -712,8 +712,10 @@ static int em28xx_ir_init(struct em28xx *dev)
em28xx_info("Registering input extension\n");
ir = kzalloc(sizeof(*ir), GFP_KERNEL);
+ if (!ir)
+ return -ENOMEM;
rc = rc_allocate_device();
- if (!ir || !rc)
+ if (!rc)
goto error;
/* record handles to ourself */