Messages in this thread Patch in this message | | | Date | Wed, 29 Jul 2009 21:20:45 +0200 | From | Roel Kluin <> | Subject | [PATCH] newport_con: Read outside array bounds |
| |
It read linetable[] before checking bounds of index, and ARRAY_SIZE is required because linetable[] are unsigned shorts.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com> --- This one wasn't spotted by parfait.
diff --git a/drivers/video/console/newport_con.c b/drivers/video/console/newport_con.c index d31b203..3772433 100644 --- a/drivers/video/console/newport_con.c +++ b/drivers/video/console/newport_con.c @@ -216,7 +216,7 @@ static void newport_get_screensize(void) } newport_xsize = newport_ysize = 0; - for (i = 0; linetable[i + 1] && (i < sizeof(linetable)); i += 2) { + for (i = 0; i < ARRAY_SIZE(linetable) - 1 && linetable[i + 1]; i += 2) { cols = 0; newport_vc2_set(npregs, VC2_IREG_RADDR, linetable[i]); npregs->set.dcbmode = (NPORT_DMODE_AVC2 | VC2_REGADDR_RAM |
| |