Reduce char arrays that are 8192 of size or bigger - reduce

them to PATH_MAX_LENGTH * 2 instead
This commit is contained in:
libretroadmin 2024-09-15 22:21:22 +02:00
parent b1aa7522fd
commit bbfe078515
7 changed files with 50 additions and 56 deletions

View File

@ -1402,7 +1402,7 @@ static int action_bind_sublabel_systeminfo_controller_entry(
const char *label, const char *path, const char *label, const char *path,
char *s, size_t len) char *s, size_t len)
{ {
char tmp[4096]; char tmp[NAME_MAX_LENGTH];
unsigned controller; unsigned controller;
const char *val_port_dev_name = const char *val_port_dev_name =
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PORT_DEVICE_NAME); msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PORT_DEVICE_NAME);
@ -1533,7 +1533,7 @@ static int action_bind_sublabel_subsystem_load(
char *s, size_t len) char *s, size_t len)
{ {
unsigned j = 0; unsigned j = 0;
char buf[4096]; char buf[PATH_MAX_LENGTH];
buf[0] = '\0'; buf[0] = '\0';
@ -1734,7 +1734,7 @@ static int action_bind_sublabel_netplay_room(file_list_t *list,
char *s, size_t len) char *s, size_t len)
{ {
size_t _len; size_t _len;
char buf[512]; char buf[NAME_MAX_LENGTH];
struct netplay_room *room; struct netplay_room *room;
net_driver_state_t *net_st = networking_state_get_ptr(); net_driver_state_t *net_st = networking_state_get_ptr();
unsigned room_index = type - MENU_SETTINGS_NETPLAY_ROOMS_START; unsigned room_index = type - MENU_SETTINGS_NETPLAY_ROOMS_START;
@ -1788,7 +1788,7 @@ static int action_bind_sublabel_netplay_kick_client(file_list_t *list,
const char *label, const char *path, const char *label, const char *path,
char *s, size_t len) char *s, size_t len)
{ {
char buf[512]; char buf[NAME_MAX_LENGTH];
netplay_client_info_t *client; netplay_client_info_t *client;
const char *status = NULL; const char *status = NULL;
size_t idx = list->list[i].entry_idx; size_t idx = list->list[i].entry_idx;

View File

@ -631,11 +631,9 @@ struct ozone_handle
char tab_path[PATH_MAX_LENGTH]; char tab_path[PATH_MAX_LENGTH];
/* These have to be huge, because runloop_st->name.savestate /* These have to be huge, because runloop_st->name.savestate
* has a hard-coded size of 8192... * has a hard-coded size of (PATH_MAX_LENGTH * 2)... */
* (the extra space here is required to silence compiler char savestate_thumbnail_file_path[(PATH_MAX_LENGTH * 2)];
* warnings...) */ char prev_savestate_thumbnail_file_path[(PATH_MAX_LENGTH * 2)];
char savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char prev_savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char thumbnails_left_status_prev; char thumbnails_left_status_prev;
char thumbnails_right_status_prev; char thumbnails_right_status_prev;
@ -3716,7 +3714,7 @@ static void ozone_update_savestate_thumbnail_path(void *data, unsigned i)
|| string_is_equal(entry.label, "savestate")) || string_is_equal(entry.label, "savestate"))
{ {
size_t _len; size_t _len;
char path[8204]; /* TODO/FIXME - check size */ char path[PATH_MAX_LENGTH * 2];
runloop_state_t *runloop_st = runloop_state_get_ptr(); runloop_state_t *runloop_st = runloop_state_get_ptr();
/* State slot dropdown */ /* State slot dropdown */

View File

@ -345,11 +345,9 @@ typedef struct
menu_input_pointer_t pointer; menu_input_pointer_t pointer;
/* These have to be huge, because runloop_st->name.savestate /* These have to be huge, because runloop_st->name.savestate
* has a hard-coded size of 8192... * has a hard-coded size of (PATH_MAX_LENGTH * 2)... */
* (the extra space here is required to silence compiler char savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];
* warnings...) */ char prev_savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];
char savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char prev_savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char menu_title[NAME_MAX_LENGTH]; /* Must be a fixed length array... */ char menu_title[NAME_MAX_LENGTH]; /* Must be a fixed length array... */
char msgbox[1024]; char msgbox[1024];
@ -6892,7 +6890,7 @@ static void rgui_update_savestate_thumbnail_path(void *data, unsigned i)
|| string_is_equal(entry.label, "savestate")) || string_is_equal(entry.label, "savestate"))
{ {
size_t _len; size_t _len;
char path[8204]; /* TODO/FIXME - check size */ char path[PATH_MAX_LENGTH * 2];
runloop_state_t *runloop_st = runloop_state_get_ptr(); runloop_state_t *runloop_st = runloop_state_get_ptr();
/* State slot dropdown */ /* State slot dropdown */

View File

@ -434,11 +434,9 @@ typedef struct xmb_handle
char entry_index_offset; char entry_index_offset;
/* These have to be huge, because runloop_st->name.savestate /* These have to be huge, because runloop_st->name.savestate
* has a hard-coded size of 8192... * has a hard-coded size of (PATH_MAX_LENGTH * 2)... */
* (the extra space here is required to silence compiler char savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];
* warnings...) */ char prev_savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];
char savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char prev_savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char fullscreen_thumbnail_label[NAME_MAX_LENGTH]; char fullscreen_thumbnail_label[NAME_MAX_LENGTH];
bool allow_horizontal_animation; bool allow_horizontal_animation;
@ -1264,7 +1262,7 @@ static void xmb_update_savestate_thumbnail_path(void *data, unsigned i)
|| string_is_equal(entry.label, "savestate")) || string_is_equal(entry.label, "savestate"))
{ {
size_t _len; size_t _len;
char path[8204]; /* TODO/FIXME - check size */ char path[PATH_MAX_LENGTH * 2];
runloop_state_t *runloop_st = runloop_state_get_ptr(); runloop_state_t *runloop_st = runloop_state_get_ptr();
/* State slot dropdown */ /* State slot dropdown */

View File

@ -12176,17 +12176,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
if (!strstr(descriptor, "Auto")) if (!strstr(descriptor, "Auto"))
{ {
char desc_label[400]; char desc_lbl[400];
const struct retro_keybind *keyptr = const struct retro_keybind *keyptr =
&input_config_binds[port][retro_id]; &input_config_binds[port][retro_id];
size_t _len = strlcpy(desc_label, size_t _len = strlcpy(desc_lbl,
msg_hash_to_str(keyptr->enum_idx), msg_hash_to_str(keyptr->enum_idx),
sizeof(desc_label)); sizeof(desc_lbl));
desc_label[ _len] = ','; desc_lbl[ _len] = ',';
desc_label[++_len] = ' '; desc_lbl[++_len] = ' ';
desc_label[++_len] = '\0'; desc_lbl[++_len] = '\0';
strlcpy(desc_label + _len, descriptor, sizeof(desc_label) - _len); strlcpy(desc_lbl + _len, descriptor, sizeof(desc_lbl) - _len);
desc_len = strlcpy(descriptor, desc_label, sizeof(descriptor)); desc_len = strlcpy(descriptor, desc_lbl, sizeof(descriptor));
} }
/* Add user index when display driver == rgui and sublabels /* Add user index when display driver == rgui and sublabels
@ -12229,17 +12229,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
if (!strstr(descriptor, "Auto")) if (!strstr(descriptor, "Auto"))
{ {
char desc_label[400]; char desc_lbl[400];
const struct retro_keybind *keyptr = const struct retro_keybind *keyptr =
&input_config_binds[port][retro_id]; &input_config_binds[port][retro_id];
size_t _len = strlcpy(desc_label, size_t _len = strlcpy(desc_lbl,
msg_hash_to_str(keyptr->enum_idx), msg_hash_to_str(keyptr->enum_idx),
sizeof(desc_label)); sizeof(desc_lbl));
desc_label[ _len] = ','; desc_lbl[ _len] = ',';
desc_label[++_len] = ' '; desc_lbl[++_len] = ' ';
desc_label[++_len] = '\0'; desc_lbl[++_len] = '\0';
strlcpy(desc_label + _len, descriptor, sizeof(desc_label) - _len); strlcpy(desc_lbl + _len, descriptor, sizeof(desc_lbl) - _len);
desc_len = strlcpy(descriptor, desc_label, sizeof(descriptor)); desc_len = strlcpy(descriptor, desc_lbl, sizeof(descriptor));
} }
/* Add user index when display driver == rgui and sublabels /* Add user index when display driver == rgui and sublabels

View File

@ -447,7 +447,7 @@ typedef struct
char file_name[NAME_MAX_LENGTH]; char file_name[NAME_MAX_LENGTH];
} last_start_content; } last_start_content;
char menu_state_msg[8192]; char menu_state_msg[PATH_MAX_LENGTH * 2];
/* Scratchpad variables. These are used for instance /* Scratchpad variables. These are used for instance
* by the filebrowser when having to store intermediary * by the filebrowser when having to store intermediary
* paths (subdirs/previous dirs/current dir/path, etc). * paths (subdirs/previous dirs/current dir/path, etc).

View File

@ -269,11 +269,7 @@ struct runloop
uint32_t flags; uint32_t flags;
int8_t run_frames_and_pause; int8_t run_frames_and_pause;
char runtime_content_path_basename[8192]; /* TODO/FIXME - check size */ char runtime_content_path_basename[PATH_MAX_LENGTH];
char current_library_name[NAME_MAX_LENGTH];
char current_library_version[256];
char current_valid_extensions[256];
char subsystem_path[256];
#ifdef HAVE_SCREENSHOTS #ifdef HAVE_SCREENSHOTS
char max_frames_screenshot_path[PATH_MAX_LENGTH]; char max_frames_screenshot_path[PATH_MAX_LENGTH];
#endif #endif
@ -284,19 +280,23 @@ struct runloop
char runtime_core_path[PATH_MAX_LENGTH]; char runtime_core_path[PATH_MAX_LENGTH];
char savefile_dir[DIR_MAX_LENGTH]; char savefile_dir[DIR_MAX_LENGTH];
char savestate_dir[DIR_MAX_LENGTH]; char savestate_dir[DIR_MAX_LENGTH];
char current_library_name[NAME_MAX_LENGTH];
char current_valid_extensions[256];
char subsystem_path[256];
char current_library_version[64];
struct struct
{ {
char *remapfile; char *remapfile;
char savefile[8192]; /* TODO/FIXME - check size */ char savefile [PATH_MAX_LENGTH*2];
char savestate[8192]; /* TODO/FIXME - check size */ char savestate[PATH_MAX_LENGTH*2];
char replay[8192]; /* TODO/FIXME - check size */ char replay [PATH_MAX_LENGTH*2];
char cheatfile[8192]; /* TODO/FIXME - check size */ char cheatfile[PATH_MAX_LENGTH*2];
char ups[8192]; /* TODO/FIXME - check size */ char ups [PATH_MAX_LENGTH*2];
char bps[8192]; /* TODO/FIXME - check size */ char bps [PATH_MAX_LENGTH*2];
char ips[8192]; /* TODO/FIXME - check size */ char ips [PATH_MAX_LENGTH*2];
char xdelta[8192]; /* TODO/FIXME - check size */ char xdelta [PATH_MAX_LENGTH*2];
char label[8192]; /* TODO/FIXME - check size */ char label [PATH_MAX_LENGTH*2];
} name; } name;
bool missing_bios; bool missing_bios;