aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/lirc_dev.c
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2017-02-01 20:08:56 -0200
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-02-03 14:23:36 -0200
commit32002f725fc708dccc6263b19b56fa3d91626be1 (patch)
tree27cff6e2d7e5c77020f02dae0777f474aa69efc7 /drivers/media/rc/lirc_dev.c
parent[media] Documentation: devicetree: add the RC map name of the geekbox remote (diff)
downloadlinux-dev-32002f725fc708dccc6263b19b56fa3d91626be1.tar.xz
linux-dev-32002f725fc708dccc6263b19b56fa3d91626be1.zip
[media] lirc: cannot read from tx-only device
Bail out early, otherwise we follow a null pointer. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/rc/lirc_dev.c')
-rw-r--r--drivers/media/rc/lirc_dev.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
index 0030ce01babc..a54ca531d8ef 100644
--- a/drivers/media/rc/lirc_dev.c
+++ b/drivers/media/rc/lirc_dev.c
@@ -647,6 +647,9 @@ ssize_t lirc_dev_fop_read(struct file *file,
return -ENODEV;
}
+ if (!LIRC_CAN_REC(ir->d.features))
+ return -EINVAL;
+
dev_dbg(ir->d.dev, LOGHEAD "read called\n", ir->d.name, ir->d.minor);
buf = kzalloc(ir->chunk_size, GFP_KERNEL);