[2.6 patch] drivers/mtd/nand/cafe_ecc.c: fix an off-by-one in a BUG_ON
Adrian Bunk
bunk at stusta.de
Fri Feb 2 09:29:19 EST 2007
err_pos_lut[4096] of an array with 4096 elements is a bug.
Spotted by the Coverity checker.
While I was at it, I also converted it to ARRAY_SIZE().
Signed-off-by: Adrian Bunk <bunk at stusta.de>
--- linux-2.6.20-rc6-mm3/drivers/mtd/nand/cafe_ecc.c.old 2007-02-02 14:45:13.000000000 +0100
+++ linux-2.6.20-rc6-mm3/drivers/mtd/nand/cafe_ecc.c 2007-02-02 14:45:42.000000000 +0100
@@ -1045,7 +1045,7 @@
static unsigned short err_pos(unsigned short din)
{
- BUG_ON(din > 4096);
+ BUG_ON(din >= ARRAY_SIZE(err_pos_lut));
return err_pos_lut[din];
}
static int chk_no_err_only(unsigned short *chk_syndrome_list, unsigned short *err_info)
More information about the linux-mtd
mailing list