case MIFARE_ULC_AUTH_1 : snprintf(exp,size,"AUTH "); break;
case MIFARE_ULC_AUTH_2 : snprintf(exp,size,"AUTH_ANSW"); break;
case MIFARE_ULEV1_AUTH : snprintf(exp,size,"PWD-AUTH"); break;
-
case MIFARE_ULEV1_FASTREAD : {
- if ( cmd[2] < 0x21)
+ if ( cmdsize >=3 && cmd[2] < 0x21)
snprintf(exp,size,"READ RANGE (%d-%d)",cmd[1],cmd[2]);
+ else
+ snprintf(exp,size,"?");
break;
}
case MIFARE_ULEV1_WRITE : {
if ( cmd[1] < 0x21 )
snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]);
+ else
+ snprintf(exp,size,"?");
break;
}
case MIFARE_ULEV1_READ_CNT :{
if ( cmd[1] < 5 )
snprintf(exp,size,"READ CNT(%d)",cmd[1]);
+ else
+ snprintf(exp,size,"?");
break;
}
case MIFARE_ULEV1_INCR_CNT : {
if ( cmd[1] < 5 )
- snprintf(exp,size,"INC(%d)",cmd[1]);
+ snprintf(exp,size,"INCR(%d)",cmd[1]);
+ else
+ snprintf(exp,size,"?");
break;
}
case MIFARE_ULEV1_READSIG : snprintf(exp,size,"READ_SIG"); break;
case MIFARE_ULEV1_CHECKTEAR : snprintf(exp,size,"CHK_TEARING(%d)",cmd[1]); break;
case MIFARE_ULEV1_VCSL : snprintf(exp,size,"VCSL"); break;
-
default: snprintf(exp,size,"?"); break;
}
return;
ComputeCrc14443(CRC_14443_B, data, len-2, &b1, &b2);
if(b1 != data[len-2] || b2 != data[len-1]) {
return 0;
- } else {
- return 1;
}
+ return 1;
}
/**