Fix more Coverity errors

This commit is contained in:
twinaphex 2017-10-04 08:37:21 +02:00
parent bb6ca3e4ff
commit 032109512a
4 changed files with 27 additions and 22 deletions

View File

@ -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);
}
}

View File

@ -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,

View File

@ -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)
{

View File

@ -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)
{