diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2011-02-21 10:52:43 +0000 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2011-03-14 10:39:27 +0000 |
commit | bbd562d717a84c6464211e8bd5efa0d9e25edc6d (patch) | |
tree | 7dd79ba99653747dc9b9aa5b776c94859ec9a64c /drivers | |
parent | c44ed965be7a84afaa07543c04eb97a5dfe93422 (diff) | |
download | linux-bbd562d717a84c6464211e8bd5efa0d9e25edc6d.tar.gz linux-bbd562d717a84c6464211e8bd5efa0d9e25edc6d.tar.bz2 linux-bbd562d717a84c6464211e8bd5efa0d9e25edc6d.zip |
watchdog: cpwd: Fix buffer-overflow
cppcheck-1.47 reports:
[drivers/watchdog/cpwd.c:650]: (error) Buffer access out-of-bounds: p.devs
The source code is
for (i = 0; i < 4; i++) {
misc_deregister(&p->devs[i].misc);
where devs is defined as WD_NUMDEVS big and WD_NUMDEVS is equal to 3.
So the 4 should be a 3 or WD_NUMDEVS.
Reported-By: David Binderman
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/watchdog/cpwd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/watchdog/cpwd.c b/drivers/watchdog/cpwd.c index eca855a55c0d..3de4ba0260a5 100644 --- a/drivers/watchdog/cpwd.c +++ b/drivers/watchdog/cpwd.c @@ -646,7 +646,7 @@ static int __devexit cpwd_remove(struct platform_device *op) struct cpwd *p = dev_get_drvdata(&op->dev); int i; - for (i = 0; i < 4; i++) { + for (i = 0; i < WD_NUMDEVS; i++) { misc_deregister(&p->devs[i].misc); if (!p->enabled) { |