NAND: fix off-by-one error in erase command argument range

The last_block argument to nand_erase() is checked against nand->num_blocks,
but the highest valid block number is (total - 1), the test for invalid should
be ">=" rather than ">".

Signed-off-by: Jon Povey <jon.povey@racelogic.co.uk>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
Jon Povey 2010-05-13 18:31:41 +09:00 committed by Øyvind Harboe
parent 215a5f7442
commit 0eb7fb59a0
1 changed files with 1 additions and 1 deletions

View File

@ -528,7 +528,7 @@ int nand_erase(struct nand_device *nand, int first_block, int last_block)
if (!nand->device)
return ERROR_NAND_DEVICE_NOT_PROBED;
if ((first_block < 0) || (last_block > nand->num_blocks))
if ((first_block < 0) || (last_block >= nand->num_blocks))
return ERROR_INVALID_ARGUMENTS;
/* make sure we know if a block is bad before erasing it */