From 78528074b102f8f29d9608049a058c52bedf0b77 Mon Sep 17 00:00:00 2001 From: merlokk Date: Sat, 25 Nov 2017 21:17:56 +0200 Subject: [PATCH 1/1] optimization UDOL creation. does not affect on functionality. --- client/emv/cmdemv.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/client/emv/cmdemv.c b/client/emv/cmdemv.c index da444a26..b188555e 100644 --- a/client/emv/cmdemv.c +++ b/client/emv/cmdemv.c @@ -629,23 +629,12 @@ int CmdHFEMVExec(const char *cmd) { PrintAndLog("ERROR: can't create UDOL TLV."); return 4; } - - size_t udol_data_tlv_data_len; - unsigned char *udol_data_tlv_data = tlv_encode(udol_data_tlv, &udol_data_tlv_data_len); - if (!udol_data_tlv_data) { - PrintAndLog("ERROR: can't create UDOL data."); - return 4; - } - // eliminate fake tag - udol_data_tlv_data_len -= 2; - udol_data_tlv_data += 2; - - PrintAndLog("UDOL data[%d]: %s", udol_data_tlv_data_len, sprint_hex(udol_data_tlv_data, udol_data_tlv_data_len)); + PrintAndLog("UDOL data[%d]: %s", udol_data_tlv->len, sprint_hex(udol_data_tlv->value, udol_data_tlv->len)); PrintAndLog("\n* Mastercard compute cryptographic checksum(UDOL)"); - res = MSCComputeCryptoChecksum(true, udol_data_tlv_data, udol_data_tlv_data_len, buf, sizeof(buf), &len, &sw, tlvRoot); + res = MSCComputeCryptoChecksum(true, (uint8_t *)udol_data_tlv->value, udol_data_tlv->len, buf, sizeof(buf), &len, &sw, tlvRoot); if (res) { PrintAndLog("ERROR Compute Crypto Checksum. APDU error %4x", sw); return 5; -- 2.39.5