Commit 196b3167 authored by Roel Kluin's avatar Roel Kluin Committed by Linus Torvalds

cyclades: fix read buffer overflow

irq is declared with size NR_CARDS (4), but the loop containing this
segment runs up until NR_ISA_ADDRS (16), possibly reading from irq[i] (and
trying to use the result)

Identified by the Parfait static scanner.
Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
Acked-by: default avatarJiri Slaby <jirislaby@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 75e3a6ae
...@@ -3354,7 +3354,7 @@ static int __init cy_detect_isa(void) ...@@ -3354,7 +3354,7 @@ static int __init cy_detect_isa(void)
continue; continue;
} }
#ifdef MODULE #ifdef MODULE
if (isparam && irq[i]) if (isparam && i < NR_CARDS && irq[i])
cy_isa_irq = irq[i]; cy_isa_irq = irq[i];
else else
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment