summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/tvaudio.c
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2008-10-11 06:16:12 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-11 18:54:07 +0200
commit5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1 (patch)
treeaa8954769e1eeb0aac55181e698166beaa61f633 /drivers/media/video/tvaudio.c
parentnet: fix dummy 'nf_conntrack_event_cache()' (diff)
downloadlinux-5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1.tar.xz
linux-5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1.zip
security: avoid calling a NULL function pointer in drivers/video/tvaudio.c
NULL function pointers are very bad security wise. This one got caught by kerneloops.org quite a few times, so it's happening in the field.... Fix is simple, check the function pointer for NULL, like 6 other places in the same function are already doing. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/media/video/tvaudio.c')
-rw-r--r--drivers/media/video/tvaudio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
index 463680b13289..b59e47272abf 100644
--- a/drivers/media/video/tvaudio.c
+++ b/drivers/media/video/tvaudio.c
@@ -1792,7 +1792,7 @@ static int chip_command(struct i2c_client *client,
break;
case VIDIOC_S_FREQUENCY:
chip->mode = 0; /* automatic */
- if (desc->checkmode) {
+ if (desc->checkmode && desc->setmode) {
desc->setmode(chip,V4L2_TUNER_MODE_MONO);
if (chip->prevmode != V4L2_TUNER_MODE_MONO)
chip->prevmode = -1; /* reset previous mode */