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:
parent
010b09121c
commit
8262e8a2c0
|
@ -123,7 +123,7 @@ static void bitq_path_move(struct pathmove_command *cmd)
|
||||||
{
|
{
|
||||||
int i;
|
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])
|
if (tap_state_transition(tap_get_state(), false) == cmd->path[i])
|
||||||
bitq_io(0, 0, 0);
|
bitq_io(0, 0, 0);
|
||||||
else if (tap_state_transition(tap_get_state(), true) == cmd->path[i])
|
else if (tap_state_transition(tap_get_state(), true) == cmd->path[i])
|
||||||
|
|
Loading…
Reference in New Issue