Fix a bunch of signed/unsigned comparisons.

This commit is contained in:
Romain Tartiere 2012-05-14 13:45:13 +00:00
parent 08195d70ee
commit 478d3d92eb
2 changed files with 12 additions and 11 deletions

View file

@ -735,7 +735,8 @@ int mf_enhanced_auth(int e_sector, int a_sector, mftag t, mfreader r, denonce *d
// Transmit reader-answer
// fprintf(stdout, "\t{Ar}:\t");
// print_hex_par(ArEnc, 64, ArEncPar);
if (((RxLen = nfc_initiator_transceive_bits(r.pdi, ArEnc, 64, ArEncPar, Rx, RxPar)) < 0) || (RxLen != 32)) {
int res;
if (((res = nfc_initiator_transceive_bits(r.pdi, ArEnc, 64, ArEncPar, Rx, RxPar)) < 0) || (res != 32)) {
ERR ("Reader-answer transfer error, exiting..");
exit (EXIT_FAILURE);
}
@ -764,7 +765,7 @@ int mf_enhanced_auth(int e_sector, int a_sector, mftag t, mfreader r, denonce *d
}
// Sending the encrypted Auth command
if ((RxLen = nfc_initiator_transceive_bits(r.pdi, AuthEnc, 32, AuthEncPar,Rx, RxPar)) < 0) {
if (nfc_initiator_transceive_bits(r.pdi, AuthEnc, 32, AuthEncPar,Rx, RxPar) < 0) {
fprintf(stdout, "Error requesting encrypted tag-nonce\n");
exit (EXIT_FAILURE);
}
@ -793,7 +794,7 @@ int mf_enhanced_auth(int e_sector, int a_sector, mftag t, mfreader r, denonce *d
ArEncPar[i] = filter(pcs->odd) ^ oddparity(Nt);
}
nfc_device_set_property_bool(r.pdi,NP_HANDLE_PARITY,false);
if (((RxLen = nfc_initiator_transceive_bits(r.pdi, ArEnc, 64, ArEncPar, Rx, RxPar)) < 0) || (RxLen != 32)) {
if (((res = nfc_initiator_transceive_bits(r.pdi, ArEnc, 64, ArEncPar, Rx, RxPar)) < 0) || (res != 32)) {
ERR ("Reader-answer transfer error, exiting..");
exit (EXIT_FAILURE);
}
@ -822,7 +823,7 @@ int mf_enhanced_auth(int e_sector, int a_sector, mftag t, mfreader r, denonce *d
// Encrypt the parity bits with the 4 plaintext bytes
AuthEncPar[i] = filter(pcs->odd) ^ oddparity(Auth[i]);
}
if ((RxLen = nfc_initiator_transceive_bits(r.pdi, AuthEnc, 32, AuthEncPar,Rx, RxPar)) < 0) {
if (nfc_initiator_transceive_bits(r.pdi, AuthEnc, 32, AuthEncPar,Rx, RxPar) < 0) {
ERR ("while requesting encrypted tag-nonce");
exit (EXIT_FAILURE);
}
@ -920,7 +921,7 @@ int compar_special_int(const void * a, const void * b) {
}
countKeys * uniqsort(uint64_t * possibleKeys, uint32_t size) {
int i, j = 0;
unsigned int i, j = 0;
int count = 0;
countKeys *our_counts;

View file

@ -33,9 +33,9 @@ typedef struct {
typedef struct {
u_int32_t *distances;
u_int32_t median;
u_int32_t num_distances;
u_int32_t tolerance;
int32_t median;
int32_t num_distances;
int32_t tolerance;
uint8_t parity[3]; // used for 3 bits of parity information
} denonce; // Revealed information about nonce
@ -43,8 +43,8 @@ typedef struct {
nfc_target nt;
sector * sectors; // Allocate later, we do not know the number of sectors yet
sector e_sector; // Exploit sector
uint32_t num_sectors;
uint32_t num_blocks;
int32_t num_sectors;
int32_t num_blocks;
uint32_t uid;
bool b4K;
} mftag;
@ -56,7 +56,7 @@ typedef struct {
typedef struct {
uint64_t *brokenKeys;
uint32_t size;
int32_t size;
} bKeys;
typedef struct {