From 1b2091932eba4f1ac046c89cf5a11c6333136787 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 10 Mar 2021 10:43:49 +0100 Subject: [PATCH] fix 'mem spiffs view' and bad file stats retrieval --- armsrc/spiffs.c | 13 +++++-------- client/src/cmdflashmemspiffs.c | 5 +++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/armsrc/spiffs.c b/armsrc/spiffs.c index a1b3e8e39..8242df9fc 100644 --- a/armsrc/spiffs.c +++ b/armsrc/spiffs.c @@ -208,15 +208,12 @@ static void remove_from_spiffs(const char *filename) { Dbprintf("errno %i\n", SPIFFS_errno(&fs)); } -static spiffs_stat stat_in_spiffs(const char *filename) { - spiffs_stat s; - if (SPIFFS_stat(&fs, filename, &s) < 0) - Dbprintf("errno %i\n", SPIFFS_errno(&fs)); - return s; -} - uint32_t size_in_spiffs(const char *filename) { - spiffs_stat s = stat_in_spiffs(filename); + spiffs_stat s; + if (SPIFFS_stat(&fs, filename, &s) < 0) { + Dbprintf("errno %i\n", SPIFFS_errno(&fs)); + return 0; + } return s.size; } diff --git a/client/src/cmdflashmemspiffs.c b/client/src/cmdflashmemspiffs.c index 6da30392e..9409e52ee 100644 --- a/client/src/cmdflashmemspiffs.c +++ b/client/src/cmdflashmemspiffs.c @@ -497,6 +497,11 @@ static int CmdFlashMemSpiFFSView(const char *Cmd) { } uint32_t len = resp.data.asDwords[0]; + if (len == 0) { + PrintAndLogEx(ERR, "error, failed to retrieve file stats on SPIFFSS"); + return PM3_EFAILED; + } + uint8_t *dump = calloc(len, sizeof(uint8_t)); if (!dump) { PrintAndLogEx(ERR, "error, cannot allocate memory ");