mfd: WM8350 off by one bug
authorDan Carpenter <error27@gmail.com>
Tue, 5 Jan 2010 13:59:06 +0000 (13:59 +0000)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 18 Jan 2010 11:30:26 +0000 (12:30 +0100)
If irq == WM8350_NUM_IRQ that would put us past the end of the array.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/wm8350-irq.c

index c8df547c474703b45d4285cd063bd68ab4c5e636..9025f29e2707403e5986ff2ee29a0f51f57eb811 100644 (file)
@@ -434,7 +434,7 @@ int wm8350_register_irq(struct wm8350 *wm8350, int irq,
                        irq_handler_t handler, unsigned long flags,
                        const char *name, void *data)
 {
-       if (irq < 0 || irq > WM8350_NUM_IRQ || !handler)
+       if (irq < 0 || irq >= WM8350_NUM_IRQ || !handler)
                return -EINVAL;
 
        if (wm8350->irq[irq].handler)
@@ -453,7 +453,7 @@ EXPORT_SYMBOL_GPL(wm8350_register_irq);
 
 int wm8350_free_irq(struct wm8350 *wm8350, int irq)
 {
-       if (irq < 0 || irq > WM8350_NUM_IRQ)
+       if (irq < 0 || irq >= WM8350_NUM_IRQ)
                return -EINVAL;
 
        wm8350_mask_irq(wm8350, irq);