From d9195effc7a9e03bb34f55145acd325084534c0a Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 23 Feb 2021 23:53:08 +0100 Subject: [PATCH] cppchecker --- armsrc/mifarecmd.c | 15 +++++++++------ armsrc/mifarecmd.h | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 4880d01e9..2ea7aa1b8 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -662,9 +662,11 @@ void MifareUSetPwd(uint8_t arg0, uint8_t *datain) { // Return 1 if the nonce is invalid else return 0 static int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, uint8_t *parity) { - return ((oddparity8((Nt >> 24) & 0xFF) == ((parity[0]) ^ oddparity8((NtEnc >> 24) & 0xFF) ^ BIT(Ks1, 16))) & \ - (oddparity8((Nt >> 16) & 0xFF) == ((parity[1]) ^ oddparity8((NtEnc >> 16) & 0xFF) ^ BIT(Ks1, 8))) & \ - (oddparity8((Nt >> 8) & 0xFF) == ((parity[2]) ^ oddparity8((NtEnc >> 8) & 0xFF) ^ BIT(Ks1, 0)))) ? 1 : 0; + return ( + (oddparity8((Nt >> 24) & 0xFF) == ((parity[0]) ^ oddparity8((NtEnc >> 24) & 0xFF) ^ BIT(Ks1, 16))) && \ + (oddparity8((Nt >> 16) & 0xFF) == ((parity[1]) ^ oddparity8((NtEnc >> 16) & 0xFF) ^ BIT(Ks1, 8))) && \ + (oddparity8((Nt >> 8) & 0xFF) == ((parity[2]) ^ oddparity8((NtEnc >> 8) & 0xFF) ^ BIT(Ks1, 0))) + ) ? 1 : 0; } void MifareAcquireNonces(uint32_t arg0, uint32_t flags) { @@ -1011,7 +1013,8 @@ void MifareNested(uint8_t blockNo, uint8_t keyType, uint8_t targetBlockNo, uint8 } } - davg = (davg + (rtr - 1) / 2) / (rtr - 1); + if (rtr > 1) + davg = (davg + (rtr - 1) / 2) / (rtr - 1); if (DBGLEVEL >= DBG_DEBUG) Dbprintf("rtr=%d isOK=%d min=%d max=%d avg=%d, delta_time=%d", rtr, isOK, dmin, dmax, davg, delta_time); @@ -2710,8 +2713,8 @@ void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain) { // // Tear-off attack against MFU. // - Moebius et al -void MifareU_Otp_Tearoff(uint8_t arg0, uint32_t tearoff_time, uint8_t *datain) { - uint8_t blockNo = arg0; +void MifareU_Otp_Tearoff(uint8_t blno, uint32_t tearoff_time, uint8_t *datain) { + uint8_t blockNo = blno; uint8_t data_fullwrite[4] = {0x00}; uint8_t data_testwrite[4] = {0x00}; memcpy(data_fullwrite, datain, 4); diff --git a/armsrc/mifarecmd.h b/armsrc/mifarecmd.h index 92defcaf5..757a5efbb 100644 --- a/armsrc/mifarecmd.h +++ b/armsrc/mifarecmd.h @@ -63,6 +63,6 @@ void Mifare_DES_Auth1(uint8_t arg0, uint8_t *datain); void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain); // Tear-off test for MFU -void MifareU_Otp_Tearoff(uint8_t arg0, uint32_t arg1, uint8_t *datain); +void MifareU_Otp_Tearoff(uint8_t blno, uint32_t tearoff_time, uint8_t *datain); void MifareU_Counter_Tearoff(uint8_t counter, uint32_t tearoff_time, uint8_t *datain); #endif