# HG changeset patch # User Mychaela Falconia # Date 1615673328 0 # Node ID 839bf41e7be0c607cb2de2d38ed39b77b65ddc24 # Parent c136a1a2474b56da155372e4a092906c4065fd55 simagent: X command parsing bugfix diff -r c136a1a2474b -r 839bf41e7be0 target-utils/simagent/exchange.c --- a/target-utils/simagent/exchange.c Sat Mar 13 22:06:08 2021 +0000 +++ b/target-utils/simagent/exchange.c Sat Mar 13 22:08:48 2021 +0000 @@ -92,6 +92,7 @@ char *argstr; { u8 cmd[260]; + unsigned count; int rc; if (sim_if_state != 2) { @@ -101,7 +102,8 @@ rc = decode_hex_string_arg(argstr, cmd, 260); if (rc < 0) return; - if (rc < 5) { + count = rc; + if (count < 5) { printf("ERROR: command APDU is shorter than 5 bytes\n"); return; } @@ -111,8 +113,8 @@ rc = send_to_sim(cmd, 5); if (rc < 0) return; - if (rc > 5) - exchange_data_out(cmd[1], cmd + 5, rc - 5); + if (count > 5) + exchange_data_out(cmd[1], cmd + 5, count - 5); else exchange_data_in(cmd[1], cmd[4]); }