Service/AM: Fix crash when scanning titles with installed titles with invalid title IDs (#3542)
* Service/AM: Fix crash when scanning titles with installed titles with invalid title IDs Fixes #3332
This commit is contained in:
committed by
James Rowe
parent
327ad8bcce
commit
e2c5666883
@@ -456,11 +456,14 @@ void Module::ScanForTitles(Service::FS::MediaType media_type) {
|
||||
for (const FileUtil::FSTEntry& tid_high : entries.children) {
|
||||
for (const FileUtil::FSTEntry& tid_low : tid_high.children) {
|
||||
std::string tid_string = tid_high.virtualName + tid_low.virtualName;
|
||||
u64 tid = std::stoull(tid_string.c_str(), nullptr, 16);
|
||||
|
||||
FileSys::NCCHContainer container(GetTitleContentPath(media_type, tid));
|
||||
if (container.Load() == Loader::ResultStatus::Success)
|
||||
am_title_list[static_cast<u32>(media_type)].push_back(tid);
|
||||
if (tid_string.length() == TITLE_ID_VALID_LENGTH) {
|
||||
u64 tid = std::stoull(tid_string.c_str(), nullptr, 16);
|
||||
|
||||
FileSys::NCCHContainer container(GetTitleContentPath(media_type, tid));
|
||||
if (container.Load() == Loader::ResultStatus::Success)
|
||||
am_title_list[static_cast<u32>(media_type)].push_back(tid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user