From 032109512aaa3a50ee72240790c73ff0b3e5615c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 4 Oct 2017 08:37:21 +0200 Subject: [PATCH] Fix more Coverity errors --- menu/drivers/materialui.c | 4 +--- menu/drivers/xmb.c | 2 +- menu/widgets/menu_entry.c | 2 +- menu/widgets/menu_filebrowser.c | 41 +++++++++++++++++++-------------- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index b48c4d9604..9994f8fbf0 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -1050,10 +1050,8 @@ static void mui_render_menu_list( sublabel_color ); - if (!string_is_empty(rich_label)) - free(rich_label); - menu_entry_free(&entry); + free(rich_label); } } diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 5c43b9e3b9..4a232ca9a0 100755 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1011,8 +1011,8 @@ static void xmb_update_thumbnail_path(void *data, unsigned i) tmp, PATH_MAX_LENGTH * sizeof(char)); strlcpy(xmb->thumbnail_file_path, tmp_new, sizeof(xmb->thumbnail_file_path)); - free(tmp); } + free(tmp); } strlcat(xmb->thumbnail_file_path, diff --git a/menu/widgets/menu_entry.c b/menu/widgets/menu_entry.c index cf311509c3..3c3fc7335f 100644 --- a/menu/widgets/menu_entry.c +++ b/menu/widgets/menu_entry.c @@ -313,7 +313,7 @@ void menu_entry_get(menu_entry_t *entry, size_t stack_idx, menu_entries_get_at_offset(list, i, &path, &entry_label, &entry->type, &entry->entry_idx, NULL); - cbs = list ? (menu_file_list_cbs_t*)file_list_get_actiondata_at_offset(list, i) : NULL; + cbs = (menu_file_list_cbs_t*)file_list_get_actiondata_at_offset(list, i); if (cbs) { diff --git a/menu/widgets/menu_filebrowser.c b/menu/widgets/menu_filebrowser.c index 504abcde50..0592dc86f1 100644 --- a/menu/widgets/menu_filebrowser.c +++ b/menu/widgets/menu_filebrowser.c @@ -69,33 +69,40 @@ void filebrowser_parse(void *data, unsigned type_data) bool filter_ext = settings->bools.menu_navigation_browser_filter_supported_extensions_enable; - - if (string_is_equal(info->label, + if (info && string_is_equal(info->label, msg_hash_to_str(MENU_ENUM_LABEL_SCAN_FILE))) filter_ext = false; - if (path_is_compressed) + if (info && path_is_compressed) str_list = file_archive_get_file_list(path, info->exts); else if (!string_is_empty(path)) str_list = dir_list_new(path, - filter_ext ? info->exts : NULL, + (filter_ext && info) ? info->exts : NULL, true, settings->bools.show_hidden_files, true, false); + switch (filebrowser_types) + { + case FILEBROWSER_SCAN_DIR: #ifdef HAVE_LIBRETRODB - if (filebrowser_types == FILEBROWSER_SCAN_DIR) - menu_entries_prepend(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY), - msg_hash_to_str(MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY), - MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY, - FILE_TYPE_SCAN_DIRECTORY, 0 ,0); + if (info) + menu_entries_prepend(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY), + msg_hash_to_str(MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY), + MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY, + FILE_TYPE_SCAN_DIRECTORY, 0 ,0); #endif - - if (filebrowser_types == FILEBROWSER_SELECT_DIR) - menu_entries_prepend(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY), - msg_hash_to_str(MENU_ENUM_LABEL_USE_THIS_DIRECTORY), - MENU_ENUM_LABEL_USE_THIS_DIRECTORY, - FILE_TYPE_USE_DIRECTORY, 0 ,0); + break; + case FILEBROWSER_SELECT_DIR: + if (info) + menu_entries_prepend(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY), + msg_hash_to_str(MENU_ENUM_LABEL_USE_THIS_DIRECTORY), + MENU_ENUM_LABEL_USE_THIS_DIRECTORY, + FILE_TYPE_USE_DIRECTORY, 0 ,0); + break; + default: + break; + } if (!str_list) {