[fs] Fix integrity check validation for new updates #395
2 changed files with 5 additions and 5 deletions
|
@ -85,12 +85,12 @@ NCA::NCA(VirtualFile file_, const NCA* base_nca)
|
|||
for (s32 i = 0; i < fs_count; i++) {
|
||||
NcaFsHeaderReader header_reader;
|
||||
const Result rc = fs.OpenStorage(&filesystems[i], &header_reader, i);
|
||||
if (R_FAILED(rc)) {
|
||||
/*if (R_FAILED(rc)) {
|
||||
LOG_ERROR(Loader, "File reader errored out during read of section {}: {:#x}", i,
|
||||
rc.GetInnerValue());
|
||||
status = Loader::ResultStatus::ErrorBadNCAHeader;
|
||||
return;
|
||||
}
|
||||
}*/
|
||||
|
||||
if (header_reader.GetFsType() == NcaFsHeader::FsType::RomFs) {
|
||||
files.push_back(filesystems[i]);
|
||||
|
|
|
@ -1051,7 +1051,7 @@ Result NcaFileSystemDriver::CreatePatchMetaStorage(
|
|||
ASSERT(out_aes_ctr_ex_meta != nullptr);
|
||||
ASSERT(out_indirect_meta != nullptr);
|
||||
ASSERT(base_storage != nullptr);
|
||||
ASSERT(patch_info.HasAesCtrExTable());
|
||||
MaranBr marked this conversation as resolved
|
||||
//ASSERT(patch_info.HasAesCtrExTable());
|
||||
ASSERT(patch_info.HasIndirectTable());
|
||||
ASSERT(Common::IsAligned<s64>(patch_info.aes_ctr_ex_size, NcaHeader::XtsBlockSize));
|
||||
|
||||
|
@ -1334,8 +1334,8 @@ Result NcaFileSystemDriver::CreateIntegrityVerificationStorageImpl(
|
|||
R_UNLESS(last_layer_info_offset + layer_info.size <= layer_info_offset,
|
||||
ResultRomNcaInvalidIntegrityLayerInfoOffset);
|
||||
}
|
||||
storage_info.SetDataStorage(std::make_shared<OffsetVfsFile>(
|
||||
std::move(base_storage), layer_info.size, last_layer_info_offset));
|
||||
storage_info[level_hash_info.max_layers - 1] = std::make_shared<OffsetVfsFile>(
|
||||
MaranBr marked this conversation as resolved
crueter
commented
Seems interesting, what's in SetDataStorage that caused issues? Seems interesting, what's in SetDataStorage that caused issues?
MaranBr
commented
This is something I will look into further when I have more time. It's safe for now. This is something I will look into further when I have more time. It's safe for now.
|
||||
std::move(base_storage), layer_info.size, last_layer_info_offset);
|
||||
|
||||
// Make the integrity romfs storage.
|
||||
auto integrity_storage = std::make_shared<IntegrityRomFsStorage>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue
What's this for?
These two asserts are not needed at this point in the code.