From: Dan Carpenter Date: Tue, 27 Aug 2013 01:11:26 +0000 (+0300) Subject: pinctrl: s3c24xx: off by one in s3c24xx_eint_init() X-Git-Tag: next-20130912~175^2~9 X-Git-Url: https://git.karo-electronics.de/?p=karo-tx-linux.git;a=commitdiff_plain;h=774e2d981f517e7bfbdfbc4174ef258e8c1ab335 pinctrl: s3c24xx: off by one in s3c24xx_eint_init() If "irq == NUM_EINT" then it writes one space beyond the end of the eint_data->domains[] array. Signed-off-by: Dan Carpenter Reviewed-by: Heiko Stuebner Signed-off-by: Linus Walleij --- diff --git a/drivers/pinctrl/pinctrl-s3c24xx.c b/drivers/pinctrl/pinctrl-s3c24xx.c index 24446daaad7d..ad3eaad17001 100644 --- a/drivers/pinctrl/pinctrl-s3c24xx.c +++ b/drivers/pinctrl/pinctrl-s3c24xx.c @@ -549,7 +549,7 @@ static int s3c24xx_eint_init(struct samsung_pinctrl_drv_data *d) irq = bank->eint_offset; mask = bank->eint_mask; for (pin = 0; mask; ++pin, mask >>= 1) { - if (irq > NUM_EINT) + if (irq >= NUM_EINT) break; if (!(mask & 1)) continue;