mirror of
https://github.com/libretro/RetroArch
synced 2025-02-04 03:40:03 +00:00
(Xbox/RMenu) Prevent empty string_lists returned by dir_list_new from
crashing the program
This commit is contained in:
parent
a581c9ac86
commit
537be9f6a3
@ -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;
|
||||
|
@ -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
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user