fix usb communications when receiving empty frame

E.g. before this fix, iso15 (and probably others) raw commands
expecting results but with no answer from the tag where showing the
previously received commands instead of : "[!] /!\ command failed"
This commit is contained in:
Yann GASCUEL 2022-03-30 12:00:14 +02:00
commit 6bc37bb33d

View file

@ -414,6 +414,15 @@ __attribute__((force_align_arg_pointer))
}
}
}
else if ((!error) && (length == 0)) { // we received an empty frame
if (rx.ng)
rx.length = 0; // set received length to 0
else { // old frames can't be empty
PrintAndLogEx(WARNING, "Received empty MIX packet frame (length: 0x00)");
error = true;
}
}
if (!error) { // Get the postamble
res = uart_receive(sp, (uint8_t *)&rx_raw.foopost, sizeof(PacketResponseNGPostamble), &rxlen);
if ((res != PM3_SUCCESS) || (rxlen != sizeof(PacketResponseNGPostamble))) {