From d42ff592181c64db2b30d41ac9360af668fdfb4d Mon Sep 17 00:00:00 2001 From: GOB Date: Fri, 30 Jan 2026 18:32:34 +0900 Subject: [PATCH] Fixes the error condition --- src/nfc/layer/a/nfc_layer_a.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/nfc/layer/a/nfc_layer_a.cpp b/src/nfc/layer/a/nfc_layer_a.cpp index f91dee4..c6ac0b2 100644 --- a/src/nfc/layer/a/nfc_layer_a.cpp +++ b/src/nfc/layer/a/nfc_layer_a.cpp @@ -1506,11 +1506,13 @@ bool NFCLayerA::dump_page(const uint8_t page, uint16_t maxPage) bool NFCLayerA::dump_desfire() { - const auto cfg = _isoDEP.config(); - uint16_t max_chunk_len = std::min(256, std::min(cfg.fsc, cfg.pcd_max_frame_rx)); + const auto cfg = _isoDEP.config(); + const uint16_t max_chunk_len = std::min(16, std::min(cfg.fsc, cfg.pcd_max_frame_rx)); if (max_chunk_len == 0) { - max_chunk_len = 16; + return false; } + // M5_LIB_LOGE("Max chunk len %u", max_chunk_len); + DESFireFileSystem dfs{_isoDEP}; std::vector aids; @@ -1604,10 +1606,10 @@ bool NFCLayerA::dump_desfire() bool NFCLayerA::dump_desfire_light() { - const auto cfg = _isoDEP.config(); - uint16_t max_chunk_len = std::min(16, std::min(cfg.fsc, cfg.pcd_max_frame_rx)); + const auto cfg = _isoDEP.config(); + const uint16_t max_chunk_len = std::min(16, std::min(cfg.fsc, cfg.pcd_max_frame_rx)); if (max_chunk_len == 0) { - max_chunk_len = 16; + return false; } DESFireFileSystem dfs{_isoDEP};