From 9537d5d2e9c6d1daa86a3047c07a514ac63ae550 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Thu, 16 Oct 2014 06:42:17 +0200 Subject: [PATCH] Add some more sanity checks in menu_entries.c --- frontend/menu/menu_entries.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/frontend/menu/menu_entries.c b/frontend/menu/menu_entries.c index 81f07a8334..d27f3117ac 100644 --- a/frontend/menu/menu_entries.c +++ b/frontend/menu/menu_entries.c @@ -21,6 +21,9 @@ void entries_refresh(file_list_t *list) { + if (!list || !driver.menu) + return; + /* Before a refresh, we could have deleted a file on disk, causing * selection_ptr to suddendly be out of range. * Ensure it doesn't overflow. */ @@ -98,6 +101,9 @@ void menu_build_scroll_indices(file_list_t *list) void menu_entries_pop_list(file_list_t *list) { + if (!list) + return; + if (file_list_get_size(list) > 1) { file_list_pop(list, &driver.menu->selection_ptr); @@ -107,6 +113,9 @@ void menu_entries_pop_list(file_list_t *list) int setting_set_flags(rarch_setting_t *setting) { + if (!setting) + return 0; + if (setting->flags & SD_FLAG_ALLOW_INPUT) return MENU_FILE_LINEFEED; if ( @@ -416,7 +425,7 @@ void menu_flush_stack_type(file_list_t *list, const char *label = NULL; unsigned type = 0; - if (!driver.menu) + if (!driver.menu || !list) return; driver.menu->need_refresh = true; @@ -435,7 +444,7 @@ void menu_entries_pop_stack(file_list_t *list, const char *label = NULL; unsigned type = 0; - if (!driver.menu) + if (!driver.menu || !list) return; driver.menu->need_refresh = true; @@ -454,7 +463,7 @@ void menu_flush_stack_label(file_list_t *list, const char *label = NULL; unsigned type = 0; - if (!driver.menu) + if (!driver.menu || !list) return; driver.menu->need_refresh = true;