From 97803733cee7494aaf431f109c9a7afa1a939458 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 14 Feb 2018 15:24:45 +0100 Subject: [PATCH] fix: 'hf 15 raw' - wrong length when using -c param https://github.com/iceman1001/proxmark3/issues/174 --- client/cmdhf15.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/client/cmdhf15.c b/client/cmdhf15.c index 4199ff95b..3d8d5510d 100644 --- a/client/cmdhf15.c +++ b/client/cmdhf15.c @@ -781,7 +781,8 @@ int CmdHF15Raw(const char *Cmd) { UsbCommand resp; UsbCommand c = {CMD_ISO_15693_COMMAND, {0, 1, 1}}; // len,speed,recv? - int reply = 1, fast = 1, crc = 0, i = 0; + int reply = 1, fast = 1, i = 0; + bool crc = false; char buf[5] = ""; uint8_t data[100]; uint32_t datalen = 0, temp; @@ -795,14 +796,14 @@ int CmdHF15Raw(const char *Cmd) { switch (Cmd[i+1]) { case 'r': case 'R': - reply=0; + reply = 0; break; case '2': - fast=0; + fast = 0; break; case 'c': case 'C': - crc=1; + crc = true; break; default: PrintAndLog("Invalid option"); @@ -832,10 +833,10 @@ int CmdHF15Raw(const char *Cmd) { if (crc) { AddCrc(data, datalen); - c.arg[0] = datalen+2; - } else { - c.arg[0] = datalen; + datalen += 2; } + + c.arg[0] = datalen; c.arg[1] = fast; c.arg[2] = reply; memcpy(c.d.asBytes, data, datalen);