From af7379889dedf740d7e83feb6ad054d46b9d414d Mon Sep 17 00:00:00 2001 From: Brad Parker Date: Sun, 13 Jan 2019 12:10:40 -0500 Subject: [PATCH] prevent null pointer deref in save/state/cheat paths --- paths.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/paths.c b/paths.c index 8eb2a48d6d..8758020347 100644 --- a/paths.c +++ b/paths.c @@ -173,7 +173,7 @@ void path_set_redirect(void) { fill_pathname_dir(global->name.savefile, !string_is_empty(path_main_basename) ? path_main_basename : - system ? system->library_name : NULL, + system && !string_is_empty(system->library_name) ? system->library_name : "", file_path_str(FILE_PATH_SRM_EXTENSION), sizeof(global->name.savefile)); RARCH_LOG("%s \"%s\".\n", @@ -185,7 +185,7 @@ void path_set_redirect(void) { fill_pathname_dir(global->name.savestate, !string_is_empty(path_main_basename) ? path_main_basename : - system ? system->library_name : NULL, + system && !string_is_empty(system->library_name) ? system->library_name : "", file_path_str(FILE_PATH_STATE_EXTENSION), sizeof(global->name.savestate)); RARCH_LOG("%s \"%s\".\n", @@ -195,7 +195,9 @@ void path_set_redirect(void) if (path_is_directory(global->name.cheatfile)) { - fill_pathname_dir(global->name.cheatfile, path_main_basename, + /* FIXME: Should this optionally use system->library_name like the others? */ + fill_pathname_dir(global->name.cheatfile, + !string_is_empty(path_main_basename) ? path_main_basename : "", file_path_str(FILE_PATH_STATE_EXTENSION), sizeof(global->name.cheatfile)); RARCH_LOG("%s \"%s\".\n",