From: iceman1001 Date: Tue, 2 Aug 2016 14:06:40 +0000 (+0200) Subject: Merge branch 'master' of https://github.com/iceman1001/proxmark3 X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/e719470c461e38fb3ad99416d06fa1b5b19ff357?hp=ab981f05819e3b4b368e50f5729951a33f5ce8de Merge branch 'master' of https://github.com/iceman1001/proxmark3 --- diff --git a/armsrc/legicrf.c b/armsrc/legicrf.c index a725c0bc..c732ee14 100644 --- a/armsrc/legicrf.c +++ b/armsrc/legicrf.c @@ -1531,7 +1531,7 @@ static void TransmitForLegic(void) // Code a layer 2 command (string of octets, including CRC) into ToSend[], // so that it is ready to transmit to the tag using TransmitForLegic(). //----------------------------------------------------------------------------- -static void CodeLegicBitsAsReader(const uint8_t *cmd, int bits) +static void CodeLegicBitsAsReader(const uint8_t *cmd, uint8_t cmdlen, int bits) { int i, j; uint8_t b; @@ -1539,17 +1539,17 @@ static void CodeLegicBitsAsReader(const uint8_t *cmd, int bits) ToSendReset(); // Send SOF - for(i = 0; i < 7; i++) { + for(i = 0; i < 7; i++) ToSendStuffBit(1); - } - for(i = 0; i < bits; i++) { + + for(i = 0; i < cmdlen; i++) { // Start bit ToSendStuffBit(0); // Data bits b = cmd[i]; - for(j = 0; j < 8; j++) { + for(j = 0; j < bits; j++) { if(b & 1) { ToSendStuffBit(1); } else { @@ -1566,9 +1566,9 @@ static void CodeLegicBitsAsReader(const uint8_t *cmd, int bits) /** Convenience function to encode, transmit and trace Legic comms **/ -static void CodeAndTransmitLegicAsReader(const uint8_t *cmd, int bits) +static void CodeAndTransmitLegicAsReader(const uint8_t *cmd, uint8_t cmdlen, int bits) { - CodeLegicBitsAsReader(cmd, bits); + CodeLegicBitsAsReader(cmd, cmdlen, bits); TransmitForLegic(); if (tracing) { uint8_t parity[1] = {0x00}; @@ -1579,13 +1579,13 @@ static void CodeAndTransmitLegicAsReader(const uint8_t *cmd, int bits) int ice_legic_select_card() { //int cmd_size=0, card_size=0; - uint8_t wakeup[] = { 0x7F}; + uint8_t wakeup[] = { 0x7F }; uint8_t getid[] = {0x19}; legic_prng_init(SESSION_IV); // first, wake up the tag, 7bits - CodeAndTransmitLegicAsReader(wakeup, 7); + CodeAndTransmitLegicAsReader(wakeup, sizeof(wakeup), 7); GetSamplesForLegicDemod(1000, TRUE); @@ -1596,7 +1596,7 @@ int ice_legic_select_card() //while(timer->TC_CV < 387) ; /* ~ 258us */ //frame_send_rwd(0x19, 6); - CodeAndTransmitLegicAsReader(getid, sizeof(getid)); + CodeAndTransmitLegicAsReader(getid, sizeof(getid), 8); GetSamplesForLegicDemod(1000, TRUE); //if (Demod.len < 14) return 2; diff --git a/client/cmdanalyse.c b/client/cmdanalyse.c index 6a8e5bc0..f2efd3a6 100644 --- a/client/cmdanalyse.c +++ b/client/cmdanalyse.c @@ -188,6 +188,7 @@ int CmdAnalyseCHKSUM(const char *Cmd){ uint32_t mask = 0xFF; bool errors = false; int len = 0; + memset(data, 0x0, sizeof(data)); while(param_getchar(Cmd, cmdp) != 0x00) { switch(param_getchar(Cmd, cmdp)) { diff --git a/client/cmdhflegic.c b/client/cmdhflegic.c index 0adf3c59..731cead1 100644 --- a/client/cmdhflegic.c +++ b/client/cmdhflegic.c @@ -611,7 +611,7 @@ int CmdLegicCalcCrc8(const char *Cmd){ } //Validations if (errors){ - if (data != NULL) free(data); + if (data) free(data); return usage_legic_calccrc8(); } @@ -624,7 +624,7 @@ int CmdLegicCalcCrc8(const char *Cmd){ break; } - if (data != NULL) free(data); + if (data) free(data); return 0; }