diff options
author | Jon Povey <jon.povey@racelogic.co.uk> | 2010-05-13 18:31:41 +0900 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-05-14 13:22:59 +0200 |
commit | 0eb7fb59a0afe9c82f1f3d3f88fb88e3f04d706a (patch) | |
tree | 9549ff0244ea3bd5085aa5209dd1274f33ece124 /src | |
parent | 215a5f7442773693045613cff9e3ce3c7f7e9678 (diff) | |
download | openocd+libswd-0eb7fb59a0afe9c82f1f3d3f88fb88e3f04d706a.tar.gz openocd+libswd-0eb7fb59a0afe9c82f1f3d3f88fb88e3f04d706a.tar.bz2 openocd+libswd-0eb7fb59a0afe9c82f1f3d3f88fb88e3f04d706a.tar.xz openocd+libswd-0eb7fb59a0afe9c82f1f3d3f88fb88e3f04d706a.zip |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/flash/nand/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/flash/nand/core.c b/src/flash/nand/core.c index 9013812d..e7634916 100644 --- a/src/flash/nand/core.c +++ b/src/flash/nand/core.c @@ -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 */ |