diff --git a/radio/src/gui/common/stdlcd/radio_tools.cpp b/radio/src/gui/common/stdlcd/radio_tools.cpp index 5ad9f6a3a..9eb478507 100644 --- a/radio/src/gui/common/stdlcd/radio_tools.cpp +++ b/radio/src/gui/common/stdlcd/radio_tools.cpp @@ -116,6 +116,7 @@ void menuRadioTools(event_t event) if (isRadioScriptTool(fno.fname)) addRadioScriptTool(index++, path); } + f_closedir(&dir); } #endif @@ -124,4 +125,4 @@ void menuRadioTools(event_t event) } reusableBuffer.radioTools.linesCount = index; -} \ No newline at end of file +} diff --git a/radio/src/lua/interface.cpp b/radio/src/lua/interface.cpp index 912a29ffd..f1bdbe0f6 100644 --- a/radio/src/lua/interface.cpp +++ b/radio/src/lua/interface.cpp @@ -1131,10 +1131,11 @@ bool readToolName(char * toolName, const char * filename) return "Error opening file"; } - if (f_read(&file, &buffer, sizeof(buffer), &count) != FR_OK) { - f_close(&file); + FRESULT res = f_read(&file, &buffer, sizeof(buffer), &count); + f_close(&file); + + if (res != FR_OK) return false; - } const char * tns = "TNS|"; auto * start = std::search(buffer, buffer + sizeof(buffer), tns, tns + 4);