summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2011-12-13 01:25:10 +0800
committerAndy Green <andy.green@linaro.org>2011-12-30 10:41:34 +0800
commit390306cb5cd34520ae957d7d8406007cb3adc04e (patch)
treeceab68244f481e973d927cf8d27bbd4d250b7fd2
parente5680befdc960f3e4dcd1ce73c81cf4258c15467 (diff)
downloadpanda-390306cb5cd34520ae957d7d8406007cb3adc04e.tar.gz
Staging: android: timed_gpio: Properly discard invalid timeout values.
The timed output device never previously checked the return value of sscanf, resulting in an uninitialized int being passed to enable() if input value was invalid. Signed-off-by: Mike Lockwood <lockwood@android.com>
-rw-r--r--drivers/staging/android/timed_output.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/staging/android/timed_output.c b/drivers/staging/android/timed_output.c
index 62e79180421..f373422308e 100644
--- a/drivers/staging/android/timed_output.c
+++ b/drivers/staging/android/timed_output.c
@@ -41,7 +41,9 @@ static ssize_t enable_store(
struct timed_output_dev *tdev = dev_get_drvdata(dev);
int value;
- sscanf(buf, "%d", &value);
+ if (sscanf(buf, "%d", &value) != 1)
+ return -EINVAL;
+
tdev->enable(tdev, value);
return size;