diff --git a/ChangeLog.md b/ChangeLog.md index 4b32a85b65..53ac1b06f6 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -30,6 +30,7 @@ - OFW: FuriHal: Add flash ops stats, workaround bug in SHCI_C2_SetSystemClock (by @skotopes) ### Fixed: +- NFC: Fix Mifare DESFire reading (by @Willy-JL) - Storage: Fix process aliases in rename (by @Willy-JL) - Desktop: Show "safe to unplug the USB cable" even when locked (by @Willy-JL) - GUI: Some text and UI fixes (by @Willy-JL) @@ -41,4 +42,4 @@ - OFW: FuriHalFlash: Fix obsolete-format delay (by @hedger) ### Removed: -- Nothing +- NFC: Removed `nfc_device_get_abbreviated_name()` API, only used by NFC app in Momentum and in NFC Maker diff --git a/lib/nfc/helpers/iso14443_4_layer.c b/lib/nfc/helpers/iso14443_4_layer.c index 0e742ce958..73100591a4 100644 --- a/lib/nfc/helpers/iso14443_4_layer.c +++ b/lib/nfc/helpers/iso14443_4_layer.c @@ -68,7 +68,9 @@ bool iso14443_4_layer_decode_block( // TODO: Fix properly! this is a very big kostyl na velosipede // (bit_buffer_copy_right are called to copy bigger buffer into smaller buffer causing crash on furi check) issue comes iso14443_4a_poller_send_block at line 109 - if(bit_buffer_get_size_bytes(output_data) < bit_buffer_get_size_bytes(output_data) - 1) + // Mimicks furi_check()s in bit_buffer_copy_right(): buf=output_data other=block_data start_index=1 + if(!(bit_buffer_get_size_bytes(block_data) > 1)) return ret; + if(!(bit_buffer_get_capacity_bytes(output_data) >= bit_buffer_get_size_bytes(block_data) - 1)) return ret; do {