From 3c7ece2f8bf4af4d39139e2cd074dc042bcfe8dd Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Sat, 7 Dec 2019 21:27:12 -0800 Subject: [PATCH] fs.mitm: fix infinite loop due to off-by-one in romfs read comparison --- .../ams_mitm/source/fs_mitm/fsmitm_layered_romfs_storage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stratosphere/ams_mitm/source/fs_mitm/fsmitm_layered_romfs_storage.cpp b/stratosphere/ams_mitm/source/fs_mitm/fsmitm_layered_romfs_storage.cpp index 4841cc3e8..9a2857710 100644 --- a/stratosphere/ams_mitm/source/fs_mitm/fsmitm_layered_romfs_storage.cpp +++ b/stratosphere/ams_mitm/source/fs_mitm/fsmitm_layered_romfs_storage.cpp @@ -71,7 +71,7 @@ namespace ams::mitm::fs { const auto &cur_source = *it; AMS_ASSERT(offset >= cur_source.virtual_offset); - if (offset <= cur_source.virtual_offset + cur_source.size) { + if (offset < cur_source.virtual_offset + cur_source.size) { const s64 offset_within_source = offset - cur_source.virtual_offset; const size_t cur_read_size = std::min(size - read_so_far, size_t(cur_source.size - offset_within_source)); switch (cur_source.source_type) {