Commit 35016dd7e92cf0eb5ae2e811445dd52320c348d0

Authored by Roel Kluin
Committed by David Woodhouse
1 parent 61c3506c2c

mtd: ensure index is positive

The index is signed, make sure it is not negative
when we read the array element.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

Showing 2 changed files with 2 additions and 2 deletions Side-by-side Diff

drivers/mtd/mtdcore.c
... ... @@ -447,7 +447,7 @@
447 447 for (i=0; i< MAX_MTD_DEVICES; i++)
448 448 if (mtd_table[i] == mtd)
449 449 ret = mtd_table[i];
450   - } else if (num < MAX_MTD_DEVICES) {
  450 + } else if (num >= 0 && num < MAX_MTD_DEVICES) {
451 451 ret = mtd_table[num];
452 452 if (mtd && mtd != ret)
453 453 ret = NULL;
drivers/mtd/nand/fsl_upm.c
... ... @@ -112,7 +112,7 @@
112 112  
113 113 if (mchip_nr == -1) {
114 114 chip->cmd_ctrl(mtd, NAND_CMD_NONE, 0 | NAND_CTRL_CHANGE);
115   - } else if (mchip_nr >= 0) {
  115 + } else if (mchip_nr >= 0 && mchip_nr < NAND_MAX_CHIPS) {
116 116 fun->mchip_number = mchip_nr;
117 117 chip->IO_ADDR_R = fun->io_base + fun->mchip_offsets[mchip_nr];
118 118 chip->IO_ADDR_W = chip->IO_ADDR_R;