summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2009-03-28 14:35:26 -0400
committerMichael Krufky <mkrufky@linuxtv.org>2009-03-28 14:35:26 -0400
commit01a9b73d338c6ac427e752fbc56c85d1ab5259b9 (patch)
tree9bb709a3ba5c1d8698feecedd1536da3ae92b035 /linux
parent1340daf098275689f8220222447a84e4ec4263b6 (diff)
downloadmediapointer-dvb-s2-01a9b73d338c6ac427e752fbc56c85d1ab5259b9.tar.gz
mediapointer-dvb-s2-01a9b73d338c6ac427e752fbc56c85d1ab5259b9.tar.bz2
tuner: prevent invalid initialization of t->config in set_type
From: Michael Krufky <mkrufky@linuxtv.org> Drivers that don't set "config" directly in the set_type function will end up with an invalid configuration value. Check that the value is sane, otherwise initialize to 0. Thanks to James Edward Geiger & Steven Toth for reporting this bug. Priority: high Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Cc: Steven Toth <stoth@linuxtv.org> Cc: James Edward Geiger <james.e.geiger@gmail.com>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/tuner-core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/linux/drivers/media/video/tuner-core.c b/linux/drivers/media/video/tuner-core.c
index 0188d87ea..a0cbd71e8 100644
--- a/linux/drivers/media/video/tuner-core.c
+++ b/linux/drivers/media/video/tuner-core.c
@@ -365,7 +365,8 @@ static void set_type(struct i2c_client *c, unsigned int type,
}
t->type = type;
- t->config = new_config;
+ /* prevent invalid config values */
+ t->config = ((new_config >= 0) && (new_config < 256)) ? new_config : 0;
if (tuner_callback != NULL) {
tuner_dbg("defining GPIO callback\n");
t->fe.callback = tuner_callback;