From b838c4ff272c2e48cc24b73dba35eda7e810d0b8 Mon Sep 17 00:00:00 2001
From: pwpiwi <pwpiwi@users.noreply.github.com>
Date: Thu, 28 Dec 2017 08:49:07 +0100
Subject: [PATCH 1/1] Minor fixes * fix compiler warnings on Ubuntu *
 cmdhf14a.c: make manufactureMapping static * cmdhf14a.c: fix format strings

---
 client/cmdhf14a.c             | 14 ++++++++++----
 client/cmdhf14a.h             |  6 ------
 client/emv/crypto_polarssl.c  |  4 ++--
 client/emv/emv_pki.c          |  4 ++--
 client/emv/test/crypto_test.c |  4 ++--
 client/util.c                 |  2 +-
 6 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c
index 8064724c..856d37b3 100644
--- a/client/cmdhf14a.c
+++ b/client/cmdhf14a.c
@@ -16,6 +16,7 @@
 #include <inttypes.h>
 #include <string.h>
 #include <unistd.h>
+#include <ctype.h>
 #include "util.h"
 #include "util_posix.h"
 #include "iso14443crc.h"
@@ -34,8 +35,13 @@
 static int CmdHelp(const char *Cmd);
 static int waitCmd(uint8_t iLen);
 
+// structure and database for uid -> tagtype lookups 
+typedef struct { 
+	uint8_t uid;
+	char* desc;
+} manufactureName; 
 
-const manufactureName manufactureMapping[] = {
+static const manufactureName manufactureMapping[] = {
 	// ID,  "Vendor Country"
 	{ 0x01, "Motorola UK" },
 	{ 0x02, "ST Microelectronics SA France" },
@@ -153,7 +159,7 @@ int CmdHF14AReader(const char *Cmd) {
 			break;
 		case 'x':
 		case 'X':
-			cm = cm - ISO14A_CONNECT;
+			cm &= ~ISO14A_CONNECT;
 			break;
 		default:
 			PrintAndLog("Unknown command.");
@@ -191,7 +197,7 @@ int CmdHF14AReader(const char *Cmd) {
 
 		PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen));
 		PrintAndLog("ATQA : %02x %02x", card.atqa[1], card.atqa[0]);
-		PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]);
+		PrintAndLog(" SAK : %02x [%" PRIu64 "]", card.sak, resp.arg[0]);
 		if(card.ats_len >= 3) {			// a valid ATS consists of at least the length byte (TL) and 2 CRC bytes
 			PrintAndLog(" ATS : %s", sprint_hex(card.ats, card.ats_len));
 		}
@@ -243,7 +249,7 @@ int CmdHF14AInfo(const char *Cmd)
 
 	PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen));
 	PrintAndLog("ATQA : %02x %02x", card.atqa[1], card.atqa[0]);
-	PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]);
+	PrintAndLog(" SAK : %02x [%" PRIu64 "]", card.sak, resp.arg[0]);
 
 	bool isMifareClassic = true;
 	switch (card.sak) {
diff --git a/client/cmdhf14a.h b/client/cmdhf14a.h
index 401cead0..71007f95 100644
--- a/client/cmdhf14a.h
+++ b/client/cmdhf14a.h
@@ -15,12 +15,6 @@
 #include <stdint.h>
 #include <stdbool.h>
 
-// structure and database for uid -> tagtype lookups 
-typedef struct { 
-	uint8_t uid;
-	char* desc;
-} manufactureName; 
-
 int CmdHF14A(const char *Cmd);
 int CmdHF14AList(const char *Cmd);
 int CmdHF14AMifare(const char *Cmd);
diff --git a/client/emv/crypto_polarssl.c b/client/emv/crypto_polarssl.c
index 760395c4..3d11afe5 100644
--- a/client/emv/crypto_polarssl.c
+++ b/client/emv/crypto_polarssl.c
@@ -215,7 +215,7 @@ static unsigned char *crypto_pk_polarssl_encrypt(const struct crypto_pk *_cp, co
 
 	res = rsa_public(&cp->ctx, buf, result);
 	if(res) {
-		printf("RSA encrypt failed. Error: %x data len: %d key len: %d\n", res * -1, len, keylen);
+		printf("RSA encrypt failed. Error: %x data len: %zd key len: %zd\n", res * -1, len, keylen);
 		return NULL;
 	}
 	
@@ -241,7 +241,7 @@ static unsigned char *crypto_pk_polarssl_decrypt(const struct crypto_pk *_cp, co
 
 	res = rsa_private(&cp->ctx, buf, result); // CHECK???
 	if(res) {
-		printf("RSA decrypt failed. Error: %x data len: %d key len: %d\n", res * -1, len, keylen);
+		printf("RSA decrypt failed. Error: %x data len: %zd key len: %zd\n", res * -1, len, keylen);
 		return NULL;
 	}
 	
diff --git a/client/emv/emv_pki.c b/client/emv/emv_pki.c
index 7803060e..f79e3045 100644
--- a/client/emv/emv_pki.c
+++ b/client/emv/emv_pki.c
@@ -53,7 +53,7 @@ static unsigned char *emv_pki_decode_message(const struct emv_pk *enc_pk,
 	}
 
 	if (cert_tlv->len != enc_pk->mlen) {
-		printf("ERROR: Certificate length (%d) not equal key length (%d)\n", cert_tlv->len, enc_pk->mlen);
+		printf("ERROR: Certificate length (%zd) not equal key length (%zd)\n", cert_tlv->len, enc_pk->mlen);
 		return NULL;
 	}
 	kcp = crypto_pk_open(enc_pk->pk_algo,
@@ -451,7 +451,7 @@ struct tlvdb *emv_pki_perform_cda_ex(const struct emv_pk *enc_pk, const struct t
 			un_tlv,
 			NULL);
 	if (!data || data_len < 3) {
-		printf("ERROR: can't decode message. len %d\n", data_len);
+		printf("ERROR: can't decode message. len %zd\n", data_len);
 		return NULL;
 	}
 
diff --git a/client/emv/test/crypto_test.c b/client/emv/test/crypto_test.c
index ff18b9da..352f48b4 100644
--- a/client/emv/test/crypto_test.c
+++ b/client/emv/test/crypto_test.c
@@ -219,7 +219,7 @@ static int test_pk(bool verbose)
 
 	tmp = crypto_pk_get_parameter(pubk, 0, &tmp_len);
 	if (tmp_len != sizeof(pk_N) || memcmp(tmp, pk_N, tmp_len)) {
-		fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %d len %d\n", tmp_len, sizeof(pk_N));
+		fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %zd len %zd\n", tmp_len, sizeof(pk_N));
 		free(tmp);
 		goto close_pub;
 	}
@@ -256,7 +256,7 @@ static int test_pk(bool verbose)
 
 	tmp = crypto_pk_get_parameter(privk, 0, &tmp_len);
 	if (tmp_len != sizeof(pk_N) || memcmp(tmp, pk_N, tmp_len)) {
-		fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %d len %d\n", tmp_len, sizeof(pk_N));
+		fprintf(stderr, "ERROR: crypto_pk_get_parameter(0) Modulus. param len %zd len %zd\n", tmp_len, sizeof(pk_N));
 		free(tmp);
 		goto close;
 	}
diff --git a/client/util.c b/client/util.c
index b7f07bde..568992ab 100644
--- a/client/util.c
+++ b/client/util.c
@@ -620,7 +620,7 @@ int hextobinarray(char *target, char *source)
         else if (x >= 'A' && x <= 'F')
             x -= 'A' - 10;
         else {
-        	printf("Discovered unknown character %c %d at idx %d of %s\n", x, x, source - start, start);
+        	printf("Discovered unknown character %c %d at idx %d of %s\n", x, x, (unsigned int)(source - start), start);
             return 0;
         }
         // output
-- 
2.39.5