summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-core
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-09-03 19:32:26 +0200
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-09-03 19:38:06 +0200
commit313ddec45cf1a7b3778eaa9fd3acb31f994b2e88 (patch)
tree1248eecb6dbe3573a71055ddd1f1592096fb0d36 /drivers/media/dvb-core
parent[media] mt2063: fix sparse warnings (diff)
downloadlinux-313ddec45cf1a7b3778eaa9fd3acb31f994b2e88.tar.xz
linux-313ddec45cf1a7b3778eaa9fd3acb31f994b2e88.zip
[media] dmxdev: don't use before checking file->private_data
As reported by smatch: drivers/media/dvb-core/dmxdev.c:1091 dvb_demux_poll() warn: variable dereferenced before check 'dmxdevfilter' (see line 1088) This was introduced by changeset d102cac8097c. We need to test before using it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/dvb-core')
-rw-r--r--drivers/media/dvb-core/dmxdev.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c
index 42b5e70d5ca7..abff803ad69a 100644
--- a/drivers/media/dvb-core/dmxdev.c
+++ b/drivers/media/dvb-core/dmxdev.c
@@ -1085,10 +1085,9 @@ static long dvb_demux_ioctl(struct file *file, unsigned int cmd,
static unsigned int dvb_demux_poll(struct file *file, poll_table *wait)
{
struct dmxdev_filter *dmxdevfilter = file->private_data;
- struct dmxdev *dmxdev = dmxdevfilter->dev;
unsigned int mask = 0;
- if ((!dmxdevfilter) || (dmxdev->exit))
+ if ((!dmxdevfilter) || dmxdevfilter->dev->exit)
return POLLERR;
poll_wait(file, &dmxdevfilter->buffer.queue, wait);