ソースを参照

[FL-1320] Archive: fix memory leak

its your bedtime 4 年 前
コミット
f5f9a04fda
1 ファイル変更11 行追加1 行削除
  1. 11 1
      applications/archive/archive.c

+ 11 - 1
applications/archive/archive.c

@@ -462,11 +462,21 @@ static bool archive_view_input(InputEvent* event, void* context) {
 void archive_free(ArchiveApp* archive) {
     furi_assert(archive);
 
+    ArchiveViewModel* model = view_get_model(archive->view_archive_main);
+    files_array_clear(model->files);
+    model = NULL;
+
+    string_clear(archive->browser.name);
+    string_clear(archive->browser.path);
+    string_clear(archive->browser.text_input_buffer);
+
     text_input_free(archive->text_input);
 
     furi_record_close("sdcard");
     archive->fs_api = NULL;
 
+    view_free(archive->view_archive_main);
+
     view_dispatcher_remove_view(archive->view_dispatcher, ArchiveViewMain);
 
     view_dispatcher_remove_view(archive->view_dispatcher, ArchiveViewTextInput);
@@ -478,7 +488,7 @@ void archive_free(ArchiveApp* archive) {
 
     furi_thread_free(archive->app_thread);
 
-    osMessageQueueDelete(archive->event_queue);
+    furi_check(osMessageQueueDelete(archive->event_queue) == osOK);
 
     free(archive);
 }