mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-25 03:29:58 -07:00
[FL-3643] Fix crash when reading files > 64B (#3166)
* Increase MF DESFire result buffer * Ignore chunks that do not fit into the result buffer and show warning * Display information about partial files Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -6,7 +6,8 @@
|
||||
|
||||
#define TAG "MfDesfirePoller"
|
||||
|
||||
#define MF_DESFIRE_BUF_SIZE_MAX (64U)
|
||||
#define MF_DESFIRE_BUF_SIZE (64U)
|
||||
#define MF_DESFIRE_RESULT_BUF_SIZE (512U)
|
||||
|
||||
typedef NfcCommand (*MfDesfirePollerReadHandler)(MfDesfirePoller* instance);
|
||||
|
||||
@@ -20,10 +21,10 @@ static MfDesfirePoller* mf_desfire_poller_alloc(Iso14443_4aPoller* iso14443_4a_p
|
||||
MfDesfirePoller* instance = malloc(sizeof(MfDesfirePoller));
|
||||
instance->iso14443_4a_poller = iso14443_4a_poller;
|
||||
instance->data = mf_desfire_alloc();
|
||||
instance->tx_buffer = bit_buffer_alloc(MF_DESFIRE_BUF_SIZE_MAX);
|
||||
instance->rx_buffer = bit_buffer_alloc(MF_DESFIRE_BUF_SIZE_MAX);
|
||||
instance->input_buffer = bit_buffer_alloc(MF_DESFIRE_BUF_SIZE_MAX);
|
||||
instance->result_buffer = bit_buffer_alloc(MF_DESFIRE_BUF_SIZE_MAX);
|
||||
instance->tx_buffer = bit_buffer_alloc(MF_DESFIRE_BUF_SIZE);
|
||||
instance->rx_buffer = bit_buffer_alloc(MF_DESFIRE_BUF_SIZE);
|
||||
instance->input_buffer = bit_buffer_alloc(MF_DESFIRE_BUF_SIZE);
|
||||
instance->result_buffer = bit_buffer_alloc(MF_DESFIRE_RESULT_BUF_SIZE);
|
||||
|
||||
instance->mf_desfire_event.data = &instance->mf_desfire_event_data;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user