Fix: Segfault when using -q without providing a . character. (#12418)

Use std::filesystem::path to find extension instead of strrchr.
This commit is contained in:
Peter Nelson 2024-04-04 14:39:15 +01:00 committed by GitHub
parent f6a88e40a4
commit 338def1b06
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 2 additions and 1 deletions

View File

@ -628,7 +628,8 @@ int openttd_main(int argc, char *argv[])
return ret;
}
auto [_, title] = FiosGetSavegameListCallback(SLO_LOAD, mgo.opt, strrchr(mgo.opt, '.'));
std::string extension = std::filesystem::path(_file_to_saveload.name).extension().string();
auto [_, title] = FiosGetSavegameListCallback(SLO_LOAD, mgo.opt, extension);
_load_check_data.Clear();
SaveOrLoadResult res = SaveOrLoad(mgo.opt, SLO_CHECK, DFT_GAME_FILE, SAVE_DIR, false);