X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/fb69dd881afe66618bb069e7f3b3cfe34d917007..5a9964829e8e6ef8382ed8b61dc71b1705a270f7:/client/emv/apduinfo.c?ds=sidebyside

diff --git a/client/emv/apduinfo.c b/client/emv/apduinfo.c
index a631c614..d14e3ff6 100644
--- a/client/emv/apduinfo.c
+++ b/client/emv/apduinfo.c
@@ -255,7 +255,7 @@ const APDUCode APDUCodeTable[] = {
 	{"9F00", 	APDUCODE_TYPE_NONE, 		"PIN blocked and Unblock Try Counter is 3"},
 	{"9F04", 	APDUCODE_TYPE_NONE, 		"PIN not succesfully verified, PIN blocked and Unblock Try Counter is 3"},
 	{"9FXX", 	APDUCODE_TYPE_NONE, 		"Command successfully executed; 'xx' bytes of data are available and can be requested using GET RESPONSE."},
-	{"9xXX", 	APDUCODE_TYPE_NONE, 		"Application related status, (ISO 7816-3)"}
+	{"9XXX", 	APDUCODE_TYPE_NONE, 		"Application related status, (ISO 7816-3)"}
 };
 const size_t APDUCodeTableLen = sizeof(APDUCodeTable)/sizeof(APDUCode);
 
@@ -280,11 +280,10 @@ int CodeCmp(const char *code1, const char *code2) {
 const APDUCode* const GetAPDUCode(uint8_t sw1, uint8_t sw2) {
 	char buf[5] = {0};
 	int res;
-	int mineq = 100;
+	int mineq = APDUCodeTableLen;
 	int mineqindx = 0;
 	
-	sprintf(&buf[0], "%02X", sw1);
-	sprintf(&buf[2], "%02X", sw2);
+	sprintf(buf, "%02X%02X", sw1, sw2);
 	
 	for (int i = 0; i < APDUCodeTableLen; i++) {
 		res = CodeCmp(APDUCodeTable[i].ID, buf);
@@ -302,7 +301,7 @@ const APDUCode* const GetAPDUCode(uint8_t sw1, uint8_t sw2) {
 	}
 
 	// if we have not equal, but with some 'X'
-	if (mineqindx < 100) {
+	if (mineqindx < APDUCodeTableLen) {
 		return &APDUCodeTable[mineqindx];
 	}