diff options
author | xuguangxiao <szgxxu@qq.com> | 2018-10-23 15:43:11 +0800 |
---|---|---|
committer | Tomas Vanek <vanekt@fbl.cz> | 2018-11-10 21:15:39 +0000 |
commit | 8262e8a2c03efa5ddcb780da7174210b4c5da7ca (patch) | |
tree | b7ea88bd0ebf14fd4c6897ec9580df2d4747f2cc | |
parent | 010b09121ca08f955921654c6a3d405be80afef1 (diff) | |
download | riscv-openocd-8262e8a2c03efa5ddcb780da7174210b4c5da7ca.zip riscv-openocd-8262e8a2c03efa5ddcb780da7174210b4c5da7ca.tar.gz riscv-openocd-8262e8a2c03efa5ddcb780da7174210b4c5da7ca.tar.bz2 |
jtag/bitq: array boundary overflow
The for loop inside bitq_path_move function is not correct, this will
overflow the cmd->path array and produces an unpredictable result.
Change-Id: I81e3bc9ee6d1dd948acd2fe4c667103ac22bb26f
Signed-off-by: xuguangxiao <szgxxu@qq.com>
Reviewed-on: http://openocd.zylin.com/4733
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
-rw-r--r-- | src/jtag/drivers/bitq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/jtag/drivers/bitq.c b/src/jtag/drivers/bitq.c index 66285f7..55dfe0a 100644 --- a/src/jtag/drivers/bitq.c +++ b/src/jtag/drivers/bitq.c @@ -123,7 +123,7 @@ static void bitq_path_move(struct pathmove_command *cmd) { int i; - for (i = 0; i <= cmd->num_states; i++) { + for (i = 0; i < cmd->num_states; i++) { if (tap_state_transition(tap_get_state(), false) == cmd->path[i]) bitq_io(0, 0, 0); else if (tap_state_transition(tap_get_state(), true) == cmd->path[i]) |