Sfoglia il codice sorgente

Fixed picopass load save file overrun (#2464)

Co-authored-by: あく <alleteam@gmail.com>
GuruSteve 2 anni fa
parent
commit
9dd1fb64b7
1 ha cambiato i file con 2 aggiunte e 0 eliminazioni
  1. 2 0
      applications/plugins/picopass/picopass_device.c

+ 2 - 0
applications/plugins/picopass/picopass_device.c

@@ -167,6 +167,8 @@ static bool picopass_device_load_data(PicopassDevice* dev, FuriString* path, boo
         }
 
         size_t app_limit = AA1[PICOPASS_CONFIG_BLOCK_INDEX].data[0];
+        // Fix for unpersonalized cards that have app_limit set to 0xFF
+        if(app_limit > PICOPASS_MAX_APP_LIMIT) app_limit = PICOPASS_MAX_APP_LIMIT;
         for(size_t i = 6; i < app_limit; i++) {
             furi_string_printf(temp_str, "Block %d", i);
             if(!flipper_format_read_hex(