diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2008-10-11 04:16:12 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-11 16:54:07 (GMT) |
commit | 5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1 (patch) | |
tree | aa8954769e1eeb0aac55181e698166beaa61f633 /drivers/media/video/tvaudio.c | |
parent | 64f1b65382054f8bfd528f2c4253297c232816eb (diff) | |
download | linux-5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1.tar.xz |
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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c index 463680b..b59e472 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 */ |