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>
This commit is contained in:
xuguangxiao 2018-10-23 15:43:11 +08:00 committed by Tomas Vanek
parent 010b09121c
commit 8262e8a2c0
1 changed files with 1 additions and 1 deletions

View File

@ -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])