diff --git a/configuration.h b/configuration.h index c3cbfd1825..6f47f1f56b 100644 --- a/configuration.h +++ b/configuration.h @@ -557,8 +557,8 @@ typedef struct settings char audio_device[255]; char camera_device[255]; - char playlist_names[PATH_MAX_LENGTH]; - char playlist_cores[PATH_MAX_LENGTH]; + char playlist_names[8192]; + char playlist_cores[8192]; char bundle_assets_src[PATH_MAX_LENGTH]; char bundle_assets_dst[PATH_MAX_LENGTH]; char bundle_assets_dst_subdir[PATH_MAX_LENGTH]; diff --git a/menu/cbs/menu_cbs_left.c b/menu/cbs/menu_cbs_left.c index 17eb77fdd4..11fa9744d8 100644 --- a/menu/cbs/menu_cbs_left.c +++ b/menu/cbs/menu_cbs_left.c @@ -368,16 +368,15 @@ static int action_left_video_resolution(unsigned type, const char *label, static int playlist_association_left(unsigned type, const char *label, bool wraparound) { - unsigned i; - char core_path[PATH_MAX_LENGTH]; - char new_playlist_cores[PATH_MAX_LENGTH]; - int next, found, current = 0; + size_t i, next, found, current = 0; core_info_t *info = NULL; struct string_list *stnames = NULL; struct string_list *stcores = NULL; settings_t *settings = config_get_ptr(); const char *path = path_basename(label); core_info_list_t *list = NULL; + char core_path[PATH_MAX_LENGTH]; + char new_playlist_cores[sizeof(settings->arrays.playlist_cores) / sizeof(settings->arrays.playlist_cores[0])]; core_info_get_list(&list); diff --git a/menu/cbs/menu_cbs_right.c b/menu/cbs/menu_cbs_right.c index 5872678699..31ef9963af 100644 --- a/menu/cbs/menu_cbs_right.c +++ b/menu/cbs/menu_cbs_right.c @@ -389,8 +389,6 @@ static int action_right_video_resolution(unsigned type, const char *label, static int playlist_association_right(unsigned type, const char *label, bool wraparound) { - char core_path[PATH_MAX_LENGTH]; - char new_playlist_cores[PATH_MAX_LENGTH]; size_t i, next, found, current = 0; core_info_t *info = NULL; struct string_list *stnames = NULL; @@ -398,6 +396,8 @@ static int playlist_association_right(unsigned type, const char *label, core_info_list_t *list = NULL; settings_t *settings = config_get_ptr(); const char *path = path_basename(label); + char core_path[PATH_MAX_LENGTH]; + char new_playlist_cores[sizeof(settings->arrays.playlist_cores) / sizeof(settings->arrays.playlist_cores[0])]; core_info_get_list(&list); if (!list) diff --git a/menu/cbs/menu_cbs_start.c b/menu/cbs/menu_cbs_start.c index eb11a882f8..edf43330b5 100644 --- a/menu/cbs/menu_cbs_start.c +++ b/menu/cbs/menu_cbs_start.c @@ -224,13 +224,13 @@ static int action_start_core_setting(unsigned type, static int action_start_playlist_association(unsigned type, const char *label) { - int found; - char new_playlist_cores[PATH_MAX_LENGTH]; struct string_list *stnames = NULL; struct string_list *stcores = NULL; core_info_list_t *list = NULL; settings_t *settings = config_get_ptr(); const char *path = path_basename(label); + int found; + char new_playlist_cores[sizeof(settings->arrays.playlist_cores) / sizeof(settings->arrays.playlist_cores[0])]; core_info_get_list(&list); if (!list) diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 3d05fc5986..3f734bb276 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -2574,8 +2574,8 @@ static void menu_displaylist_parse_playlist_associations( if (str_list && str_list->size) { unsigned i; - char new_playlist_names[PATH_MAX_LENGTH]; - char new_playlist_cores[PATH_MAX_LENGTH]; + char new_playlist_names[sizeof(settings->arrays.playlist_names) / sizeof(settings->arrays.playlist_names[0])]; + char new_playlist_cores[sizeof(settings->arrays.playlist_cores) / sizeof(settings->arrays.playlist_cores[0])]; struct string_list *stnames = string_split(settings->arrays.playlist_names, ";"); struct string_list *stcores = string_split(settings->arrays.playlist_cores, ";"); diff --git a/ui/drivers/qt/qt_playlist.cpp b/ui/drivers/qt/qt_playlist.cpp index faae42afc6..fa9d7cb96b 100644 --- a/ui/drivers/qt/qt_playlist.cpp +++ b/ui/drivers/qt/qt_playlist.cpp @@ -765,8 +765,8 @@ void MainWindow::onPlaylistWidgetContextMenuRequested(const QPoint&) int j = 0; size_t found = 0; const char *currentPlaylistFileNameData = NULL; - char new_playlist_names[PATH_MAX_LENGTH]; - char new_playlist_cores[PATH_MAX_LENGTH]; + char new_playlist_names[sizeof(settings->arrays.playlist_names) / sizeof(settings->arrays.playlist_names[0])]; + char new_playlist_cores[sizeof(settings->arrays.playlist_cores) / sizeof(settings->arrays.playlist_cores[0])]; bool specialPlaylist = false; bool foundHiddenPlaylist = false;