* fix memory access violation in HF14B_Other_Reader()
if (ret < 2) return 0;
memcpy(data, resp.d.asBytes, *datalen);
if (ret < 2) return 0;
memcpy(data, resp.d.asBytes, *datalen);
// test for other 14b type tags (mimic another reader - don't have tags to identify)
// test for other 14b type tags (mimic another reader - don't have tags to identify)
-static bool HF14B_Other_Reader(bool verbose) {
- uint8_t data[4];
+static bool HF14B_Other_Reader(uint8_t *data, bool verbose) {
//std read cmd
data[0] = 0x00;
data[1] = 0x0b;
data[2] = 0x3f;
data[3] = 0x80;
//std read cmd
data[0] = 0x00;
data[1] = 0x0b;
data[2] = 0x3f;
data[3] = 0x80;
if (HF14BCmdRaw(true, &crc, true, data, &datalen, false) != 0) {
if (datalen > 2 || !crc) {
PrintAndLog ("\n14443-3b tag found:");
if (HF14BCmdRaw(true, &crc, true, data, &datalen, false) != 0) {
if (datalen > 2 || !crc) {
PrintAndLog ("\n14443-3b tag found:");
- PrintAndLog ("Unknown tag type answered to a 0x000b3f80 command ans:");
+ PrintAndLog ("Unknown tag type answered to a 0x000b3f80 command:");
PrintAndLog ("%s", sprint_hex(data, datalen));
switch_off_field_14b();
return true;
PrintAndLog ("%s", sprint_hex(data, datalen));
switch_off_field_14b();
return true;
if (HF14BCmdRaw(true, &crc, true, data, &datalen, false) != 0) {
if (datalen > 0) {
PrintAndLog ("\n14443-3b tag found:");
if (HF14BCmdRaw(true, &crc, true, data, &datalen, false) != 0) {
if (datalen > 0) {
PrintAndLog ("\n14443-3b tag found:");
- PrintAndLog ("Unknown tag type answered to a 0x0A command ans:");
+ PrintAndLog ("Unknown tag type answered to a 0x0A command:");
PrintAndLog ("%s", sprint_hex(data, datalen));
switch_off_field_14b();
return true;
PrintAndLog ("%s", sprint_hex(data, datalen));
switch_off_field_14b();
return true;
if (HF14BCmdRaw(true, &crc, true, data, &datalen, false) != 0) {
if (datalen > 0) {
PrintAndLog ("\n14443-3b tag found:");
if (HF14BCmdRaw(true, &crc, true, data, &datalen, false) != 0) {
if (datalen > 0) {
PrintAndLog ("\n14443-3b tag found:");
- PrintAndLog ("Unknown tag type answered to a 0x0C command ans:");
+ PrintAndLog ("Unknown tag type answered to a 0x0C command:");
PrintAndLog ("%s", sprint_hex(data, datalen));
switch_off_field_14b();
return true;
PrintAndLog ("%s", sprint_hex(data, datalen));
switch_off_field_14b();
return true;
// try unknown 14b read commands (to be identified later)
// could be read of calypso, CEPAS, moneo, or pico pass.
// try unknown 14b read commands (to be identified later)
// could be read of calypso, CEPAS, moneo, or pico pass.
- if (HF14B_Other_Reader(verbose)) return 1;
+ if (HF14B_Other_Reader(data, verbose)) return 1;
if (verbose) PrintAndLog("no 14443B tag found");
return 0;
if (verbose) PrintAndLog("no 14443B tag found");
return 0;
// try unknown 14b read commands (to be identified later)
// could be read of calypso, CEPAS, moneo, or pico pass.
// try unknown 14b read commands (to be identified later)
// could be read of calypso, CEPAS, moneo, or pico pass.
- if (HF14B_Other_Reader(verbose)) return 1;
+ if (HF14B_Other_Reader(data, verbose)) return 1;
if (verbose) PrintAndLog("no 14443B tag found");
return 0;
if (verbose) PrintAndLog("no 14443B tag found");
return 0;