mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-02-04 10:36:50 +00:00
retroarch_validate_game_options - reduce stack usage
This commit is contained in:
parent
75d850eead
commit
a14c2101dd
21
retroarch.c
21
retroarch.c
@ -1099,19 +1099,19 @@ static bool retroarch_init_state(void)
|
||||
|
||||
bool retroarch_validate_game_options(char *s, size_t len, bool mkdir)
|
||||
{
|
||||
char core_path[PATH_MAX_LENGTH];
|
||||
char config_directory[PATH_MAX_LENGTH];
|
||||
char *core_path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||
char *config_directory = (char*)malloc(PATH_MAX_LENGTH * sizeof(char));
|
||||
size_t str_size = PATH_MAX_LENGTH * sizeof(char);
|
||||
const char *core_name = runloop_system.info.library_name;
|
||||
const char *game_name = path_basename(path_get(RARCH_PATH_BASENAME));
|
||||
|
||||
if (string_is_empty(core_name) || string_is_empty(game_name))
|
||||
return false;
|
||||
goto error;
|
||||
|
||||
config_directory[0] = core_path[0] = '\0';
|
||||
|
||||
fill_pathname_application_special(config_directory,
|
||||
sizeof(config_directory),
|
||||
APPLICATION_SPECIAL_DIRECTORY_CONFIG);
|
||||
str_size, APPLICATION_SPECIAL_DIRECTORY_CONFIG);
|
||||
|
||||
/* Concatenate strings into full paths for game_path */
|
||||
fill_pathname_join_special_ext(s,
|
||||
@ -1120,12 +1120,19 @@ bool retroarch_validate_game_options(char *s, size_t len, bool mkdir)
|
||||
len);
|
||||
|
||||
fill_pathname_join(core_path,
|
||||
config_directory, core_name, sizeof(core_path));
|
||||
config_directory, core_name, str_size);
|
||||
|
||||
if (!path_is_directory(core_path) && mkdir)
|
||||
path_mkdir(core_path);
|
||||
|
||||
free(core_path);
|
||||
free(config_directory);
|
||||
return true;
|
||||
|
||||
error:
|
||||
free(core_path);
|
||||
free(config_directory);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Validates CPU features for given processor architecture.
|
||||
@ -1225,7 +1232,7 @@ bool retroarch_main_init(int argc, char *argv[])
|
||||
|
||||
if (verbosity_is_enabled())
|
||||
{
|
||||
char str[255];
|
||||
char str[128];
|
||||
|
||||
str[0] = '\0';
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user