Skip to content

Commit

Permalink
Reduce char arrays that are 8192 of size or bigger - reduce
Browse files Browse the repository at this point in the history
them to PATH_MAX_LENGTH * 2 instead
  • Loading branch information
LibretroAdmin committed Sep 15, 2024
1 parent b1aa752 commit bbfe078
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 56 deletions.
10 changes: 5 additions & 5 deletions menu/cbs/menu_cbs_sublabel.c
Original file line number Diff line number Diff line change
Expand Up @@ -1402,7 +1402,7 @@ static int action_bind_sublabel_systeminfo_controller_entry(
const char *label, const char *path,
char *s, size_t len)
{
char tmp[4096];
char tmp[NAME_MAX_LENGTH];
unsigned controller;
const char *val_port_dev_name =
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PORT_DEVICE_NAME);
Expand Down Expand Up @@ -1533,7 +1533,7 @@ static int action_bind_sublabel_subsystem_load(
char *s, size_t len)
{
unsigned j = 0;
char buf[4096];
char buf[PATH_MAX_LENGTH];

buf[0] = '\0';

Expand Down Expand Up @@ -1734,7 +1734,7 @@ static int action_bind_sublabel_netplay_room(file_list_t *list,
char *s, size_t len)
{
size_t _len;
char buf[512];
char buf[NAME_MAX_LENGTH];
struct netplay_room *room;
net_driver_state_t *net_st = networking_state_get_ptr();
unsigned room_index = type - MENU_SETTINGS_NETPLAY_ROOMS_START;
Expand Down Expand Up @@ -1788,7 +1788,7 @@ static int action_bind_sublabel_netplay_kick_client(file_list_t *list,
const char *label, const char *path,
char *s, size_t len)
{
char buf[512];
char buf[NAME_MAX_LENGTH];
netplay_client_info_t *client;
const char *status = NULL;
size_t idx = list->list[i].entry_idx;
Expand Down Expand Up @@ -3997,7 +3997,7 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
break;
case MENU_ENUM_LABEL_INPUT_REMAP_SORT_BY_CONTROLLER_ENABLE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_remap_sort_by_controller_enable);
break;
break;
case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_autosave_interval);
break;
Expand Down
10 changes: 4 additions & 6 deletions menu/drivers/ozone.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,11 +631,9 @@ struct ozone_handle
char tab_path[PATH_MAX_LENGTH];

/* These have to be huge, because runloop_st->name.savestate
* has a hard-coded size of 8192...
* (the extra space here is required to silence compiler
* warnings...) */
char savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char prev_savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
* has a hard-coded size of (PATH_MAX_LENGTH * 2)... */
char savestate_thumbnail_file_path[(PATH_MAX_LENGTH * 2)];
char prev_savestate_thumbnail_file_path[(PATH_MAX_LENGTH * 2)];

char thumbnails_left_status_prev;
char thumbnails_right_status_prev;
Expand Down Expand Up @@ -3716,7 +3714,7 @@ static void ozone_update_savestate_thumbnail_path(void *data, unsigned i)
|| string_is_equal(entry.label, "savestate"))
{
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();

/* State slot dropdown */
Expand Down
10 changes: 4 additions & 6 deletions menu/drivers/rgui.c
Original file line number Diff line number Diff line change
Expand Up @@ -345,11 +345,9 @@ typedef struct
menu_input_pointer_t pointer;

/* These have to be huge, because runloop_st->name.savestate
* has a hard-coded size of 8192...
* (the extra space here is required to silence compiler
* warnings...) */
char savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char prev_savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
* has a hard-coded size of (PATH_MAX_LENGTH * 2)... */
char savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];
char prev_savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];

char menu_title[NAME_MAX_LENGTH]; /* Must be a fixed length array... */
char msgbox[1024];
Expand Down Expand Up @@ -6892,7 +6890,7 @@ static void rgui_update_savestate_thumbnail_path(void *data, unsigned i)
|| string_is_equal(entry.label, "savestate"))
{
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();

/* State slot dropdown */
Expand Down
12 changes: 5 additions & 7 deletions menu/drivers/xmb.c
Original file line number Diff line number Diff line change
Expand Up @@ -434,11 +434,9 @@ typedef struct xmb_handle
char entry_index_offset;

/* These have to be huge, because runloop_st->name.savestate
* has a hard-coded size of 8192...
* (the extra space here is required to silence compiler
* warnings...) */
char savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
char prev_savestate_thumbnail_file_path[8204]; /* TODO/FIXME - check size */
* has a hard-coded size of (PATH_MAX_LENGTH * 2)... */
char savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];
char prev_savestate_thumbnail_file_path[PATH_MAX_LENGTH * 2];
char fullscreen_thumbnail_label[NAME_MAX_LENGTH];

bool allow_horizontal_animation;
Expand Down Expand Up @@ -1264,7 +1262,7 @@ static void xmb_update_savestate_thumbnail_path(void *data, unsigned i)
|| string_is_equal(entry.label, "savestate"))
{
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();

/* State slot dropdown */
Expand Down Expand Up @@ -2962,7 +2960,7 @@ static void xmb_populate_entries(void *data,
{
if(settings->uints.menu_icon_thumbnails)
xmb_populate_dynamic_icons(xmb);
}
}
else if(xmb->thumbnails.pending_icons != XMB_PENDING_THUMBNAIL_NONE )
{
xmb_unload_icon_thumbnail_textures(xmb);
Expand Down
34 changes: 17 additions & 17 deletions menu/menu_displaylist.c
Original file line number Diff line number Diff line change
Expand Up @@ -7960,7 +7960,7 @@ unsigned menu_displaylist_build_list(
{MENU_ENUM_LABEL_INPUT_MAX_USERS, PARSE_ONLY_UINT, true },
{MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_INPUT_REMAP_SORT_BY_CONTROLLER_ENABLE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_INPUT_REMAP_SORT_BY_CONTROLLER_ENABLE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR, PARSE_ONLY_UINT, true },
{MENU_ENUM_LABEL_INPUT_ICADE_ENABLE, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_INPUT_SMALL_KEYBOARD_ENABLE, PARSE_ONLY_BOOL, true },
Expand Down Expand Up @@ -12176,17 +12176,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,

if (!strstr(descriptor, "Auto"))
{
char desc_label[400];
char desc_lbl[400];
const struct retro_keybind *keyptr =
&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),
sizeof(desc_label));
desc_label[ _len] = ',';
desc_label[++_len] = ' ';
desc_label[++_len] = '\0';
strlcpy(desc_label + _len, descriptor, sizeof(desc_label) - _len);
desc_len = strlcpy(descriptor, desc_label, sizeof(descriptor));
sizeof(desc_lbl));
desc_lbl[ _len] = ',';
desc_lbl[++_len] = ' ';
desc_lbl[++_len] = '\0';
strlcpy(desc_lbl + _len, descriptor, sizeof(desc_lbl) - _len);
desc_len = strlcpy(descriptor, desc_lbl, sizeof(descriptor));
}

/* Add user index when display driver == rgui and sublabels
Expand Down Expand Up @@ -12229,17 +12229,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,

if (!strstr(descriptor, "Auto"))
{
char desc_label[400];
char desc_lbl[400];
const struct retro_keybind *keyptr =
&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),
sizeof(desc_label));
desc_label[ _len] = ',';
desc_label[++_len] = ' ';
desc_label[++_len] = '\0';
strlcpy(desc_label + _len, descriptor, sizeof(desc_label) - _len);
desc_len = strlcpy(descriptor, desc_label, sizeof(descriptor));
sizeof(desc_lbl));
desc_lbl[ _len] = ',';
desc_lbl[++_len] = ' ';
desc_lbl[++_len] = '\0';
strlcpy(desc_lbl + _len, descriptor, sizeof(desc_lbl) - _len);
desc_len = strlcpy(descriptor, desc_lbl, sizeof(descriptor));
}

/* Add user index when display driver == rgui and sublabels
Expand Down
2 changes: 1 addition & 1 deletion menu/menu_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ typedef struct
char file_name[NAME_MAX_LENGTH];
} last_start_content;

char menu_state_msg[8192];
char menu_state_msg[PATH_MAX_LENGTH * 2];
/* Scratchpad variables. These are used for instance
* by the filebrowser when having to store intermediary
* paths (subdirs/previous dirs/current dir/path, etc).
Expand Down
28 changes: 14 additions & 14 deletions runloop.h
Original file line number Diff line number Diff line change
Expand Up @@ -269,11 +269,7 @@ struct runloop
uint32_t flags;
int8_t run_frames_and_pause;

char runtime_content_path_basename[8192]; /* TODO/FIXME - check size */
char current_library_name[NAME_MAX_LENGTH];
char current_library_version[256];
char current_valid_extensions[256];
char subsystem_path[256];
char runtime_content_path_basename[PATH_MAX_LENGTH];
#ifdef HAVE_SCREENSHOTS
char max_frames_screenshot_path[PATH_MAX_LENGTH];
#endif
Expand All @@ -284,19 +280,23 @@ struct runloop
char runtime_core_path[PATH_MAX_LENGTH];
char savefile_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
{
char *remapfile;
char savefile[8192]; /* TODO/FIXME - check size */
char savestate[8192]; /* TODO/FIXME - check size */
char replay[8192]; /* TODO/FIXME - check size */
char cheatfile[8192]; /* TODO/FIXME - check size */
char ups[8192]; /* TODO/FIXME - check size */
char bps[8192]; /* TODO/FIXME - check size */
char ips[8192]; /* TODO/FIXME - check size */
char xdelta[8192]; /* TODO/FIXME - check size */
char label[8192]; /* TODO/FIXME - check size */
char savefile [PATH_MAX_LENGTH*2];
char savestate[PATH_MAX_LENGTH*2];
char replay [PATH_MAX_LENGTH*2];
char cheatfile[PATH_MAX_LENGTH*2];
char ups [PATH_MAX_LENGTH*2];
char bps [PATH_MAX_LENGTH*2];
char ips [PATH_MAX_LENGTH*2];
char xdelta [PATH_MAX_LENGTH*2];
char label [PATH_MAX_LENGTH*2];
} name;

bool missing_bios;
Expand Down

0 comments on commit bbfe078

Please sign in to comment.