(Xbox/RMenu) Prevent empty string_lists returned by dir_list_new from

crashing the program
This commit is contained in:
twinaphex 2013-06-02 22:32:06 +02:00
parent a581c9ac86
commit 537be9f6a3
2 changed files with 7 additions and 3 deletions

View File

@ -137,7 +137,7 @@ static bool directory_parse(void *data, const char *path)
struct string_list *list = dir_list_new(path,
filebrowser->current_dir.extensions, true);
if(!list)
if(!list || list->size < 1)
return false;
dir_list_sort(list, true);
@ -146,7 +146,7 @@ static bool directory_parse(void *data, const char *path)
strlcpy(filebrowser->current_dir.directory_path,
path, sizeof(filebrowser->current_dir.directory_path));
if(filebrowser->list)
if (filebrowser->list)
dir_list_free(filebrowser->list);
filebrowser->list = list;
@ -242,7 +242,8 @@ bool filebrowser_iterate(void *data, unsigned action)
break;
}
strlcpy(filebrowser->current_dir.path, GET_CURRENT_PATH(filebrowser),
if (ret)
strlcpy(filebrowser->current_dir.path, GET_CURRENT_PATH(filebrowser),
sizeof(filebrowser->current_dir.path));
return ret;

View File

@ -2373,7 +2373,10 @@ static int select_rom(void *data, uint64_t input)
bool ret = filebrowser_iterate(rgui->browser, FILEBROWSER_ACTION_OK);
if (!ret)
{
RARCH_ERR("Failed to open directory.\n");
msg_queue_push(g_extern.msg_queue, "ERROR - Failed to open directory.", 1, 180);
}
}
else
{