diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2011-02-21 11:52:43 +0100 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2011-03-14 11:39:27 +0100 |
commit | bbd562d717a84c6464211e8bd5efa0d9e25edc6d (patch) | |
tree | 7dd79ba99653747dc9b9aa5b776c94859ec9a64c /drivers/watchdog | |
parent | compat breakage in preadv() and pwritev() (diff) | |
download | linux-bbd562d717a84c6464211e8bd5efa0d9e25edc6d.tar.xz 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/watchdog')
-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) { |