Fixed bug with reading pwd locked MFULs (#3959)

* Fixed bug with reading pwd locked MFULs
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Mykhailo Shevchuk 2024-10-31 13:01:00 +02:00 committed by GitHub
parent c807ffc324
commit 4b8a1a4b11
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -505,16 +505,14 @@ static NfcCommand mf_ultralight_poller_handler_read_pages(MfUltralightPoller* in
instance->error = mf_ultralight_poller_read_page(instance, start_page, &data);
}
const uint8_t read_cnt = instance->data->type == MfUltralightTypeMfulC ? 1 : 4;
if(instance->error == MfUltralightErrorNone) {
for(size_t i = 0; i < read_cnt; i++) {
if(start_page + i < instance->pages_total) {
FURI_LOG_D(TAG, "Read page %d success", start_page + i);
instance->data->page[start_page + i] = data.page[i];
instance->pages_read++;
instance->data->pages_read = instance->pages_read;
}
if(start_page < instance->pages_total) {
FURI_LOG_D(TAG, "Read page %d success", start_page);
instance->data->page[start_page] = data.page[0];
instance->pages_read++;
instance->data->pages_read = instance->pages_read;
}
if(instance->pages_read == instance->pages_total) {
instance->state = MfUltralightPollerStateReadCounters;
}