From dfcf20d641c2711f2ee2ea551a320d3d622d9a2a Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 5 Mar 2017 18:43:06 +0100 Subject: [PATCH] FIX: Coverity Scan fixes to emvcmd.c among others. FIX: emclearmem bug. --- armsrc/emvcard.h | 4 ++-- armsrc/emvcmd.c | 2 +- armsrc/mifareutil.c | 2 +- common/emvtags.h | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/armsrc/emvcard.h b/armsrc/emvcard.h index 51914993..cc886b54 100644 --- a/armsrc/emvcard.h +++ b/armsrc/emvcard.h @@ -178,7 +178,7 @@ typedef struct { uint8_t tag_9F34[3]; //Cardholder Verification Method (CVM) Results uint8_t tag_9F35[1]; //Terminal Type uint8_t tag_9F36[2]; //Application Transaction Counter (ATC) - uint8_t tag_9F37[4]; //Unpredictable Number + uint8_t tag_9F37[8]; //Unpredictable Number uint8_t tag_9F38_len; uint8_t tag_9F38[255]; //PDOL uint8_t tag_9F39[1]; //Point-of-Service (POS) Entry Mode @@ -209,7 +209,7 @@ typedef struct { uint8_t tag_9F63[6]; //Track 1 Bit Map for UN and ATC (PUNATCTRACK1) uint8_t tag_9F64[1]; //Track 1 Number of ATC Digits (NATCTRACK1) uint8_t tag_9F65[2]; //rack 2 Bit Map for CVC3 (PCVC3TRACK2) - uint8_t tag_9F66[2]; //Track 2 Bit Map for UN and ATC (PUNATCTRACK2), or VISA card type + uint8_t tag_9F66[4]; //Track 2 Bit Map for UN and ATC (PUNATCTRACK2), or VISA card type uint8_t tag_9F67[1]; //Track 2 Number of ATC Digits (NATCTRACK2) uint8_t tag_9F68_len; uint8_t tag_9F68[252]; //Mag Stripe CVM List diff --git a/armsrc/emvcmd.c b/armsrc/emvcmd.c index 217ded54..ed3dbdb9 100644 --- a/armsrc/emvcmd.c +++ b/armsrc/emvcmd.c @@ -1068,7 +1068,7 @@ void EMVFuzz_RATS(uint8_t ratslen, uint8_t* RATS) uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE); // To control where we are in the protocol - int order; + int order = 0; // We need to listen to the high-frequency, peak-detected path. iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN); diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index d26d71ee..1dd62951 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -578,7 +578,7 @@ void emlClearMem(void) { memset(emCARD, 0, CARD_MEMORY_SIZE); // fill sectors trailer data - for(uint8_t b = 3; b < 256; ((b < 127) ? (b += 4) : (b += 16))) + for(uint16_t b = 3; b < 256; ((b < 127) ? (b += 4) : (b += 16))) emlSetMem((uint8_t *)trailer, b, 1); // uid diff --git a/common/emvtags.h b/common/emvtags.h index 88cd42e8..beecd571 100644 --- a/common/emvtags.h +++ b/common/emvtags.h @@ -182,7 +182,7 @@ typedef struct { uint8_t tag_9F34[3]; //Cardholder Verification Method (CVM) Results uint8_t tag_9F35[1]; //Terminal Type uint8_t tag_9F36[2]; //Application Transaction Counter (ATC) - uint8_t tag_9F37[4]; //Unpredictable Number + uint8_t tag_9F37[8]; //Unpredictable Number uint8_t tag_9F38_len; uint8_t tag_9F38[255]; //PDOL uint8_t tag_9F39[1]; //Point-of-Service (POS) Entry Mode @@ -213,7 +213,7 @@ typedef struct { uint8_t tag_9F63[6]; //Track 1 Bit Map for UN and ATC (PUNATCTRACK1) uint8_t tag_9F64[1]; //Track 1 Number of ATC Digits (NATCTRACK1) uint8_t tag_9F65[2]; //rack 2 Bit Map for CVC3 (PCVC3TRACK2) - uint8_t tag_9F66[2]; //Track 2 Bit Map for UN and ATC (PUNATCTRACK2), or VISA card type + uint8_t tag_9F66[4]; //Track 2 Bit Map for UN and ATC (PUNATCTRACK2), or VISA card type uint8_t tag_9F67[1]; //Track 2 Number of ATC Digits (NATCTRACK2) uint8_t tag_9F68_len; uint8_t tag_9F68[252]; //Mag Stripe CVM List -- 2.39.2