fs: update IStorage::Check functions for 14.0.0

This commit is contained in:
Michael Scire 2022-03-25 23:29:36 -07:00
parent 5ffbed1bee
commit a4a2cc2218
9 changed files with 108 additions and 73 deletions

View file

@ -199,7 +199,7 @@ namespace ams::fssystem {
s64 bs_size = 0;
R_TRY(this->GetSize(std::addressof(bs_size)));
R_UNLESS(fs::IStorage::CheckAccessRange(offset, size, bs_size), fs::ResultOutOfRange());
R_TRY(fs::IStorage::CheckAccessRange(offset, size, bs_size));
/* Determine extents. */
const auto offset_end = offset + static_cast<s64>(size);

View file

@ -92,7 +92,7 @@ namespace ams::fssystem {
R_UNLESS(offset <= data_size, fs::ResultInvalidOffset());
/* Validate the access range. */
R_UNLESS(IStorage::CheckAccessRange(offset, size, util::AlignUp(data_size, static_cast<size_t>(m_verification_block_size))), fs::ResultOutOfRange());
R_TRY(IStorage::CheckAccessRange(offset, size, util::AlignUp(data_size, static_cast<size_t>(m_verification_block_size))));
/* Determine the read extents. */
size_t read_size = size;
@ -174,7 +174,9 @@ namespace ams::fssystem {
/* Validate arguments. */
R_UNLESS(buffer != nullptr, fs::ResultNullptrArgument());
R_UNLESS(IStorage::CheckOffsetAndSize(offset, size), fs::ResultInvalidOffset());
/* Check the offset/size. */
R_TRY(IStorage::CheckOffsetAndSize(offset, size));
/* Validate the offset. */
s64 data_size;
@ -182,7 +184,7 @@ namespace ams::fssystem {
R_UNLESS(offset < data_size, fs::ResultInvalidOffset());
/* Validate the access range. */
R_UNLESS(IStorage::CheckAccessRange(offset, size, util::AlignUp(data_size, static_cast<size_t>(m_verification_block_size))), fs::ResultOutOfRange());
R_TRY(IStorage::CheckAccessRange(offset, size, util::AlignUp(data_size, static_cast<size_t>(m_verification_block_size))));
/* Validate preconditions. */
AMS_ASSERT(util::IsAligned(offset, m_verification_block_size));