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:
parent
215a5f7442
commit
0eb7fb59a0
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue