summaryrefslogtreecommitdiff
path: root/src/core/file_sys
diff options
context:
space:
mode:
authorGravatar Zach Hilman2019-04-10 12:35:42 -0400
committerGravatar Zach Hilman2019-09-21 16:43:10 -0400
commit0a8e54068191c911806c7b825e4050afd65a794c (patch)
tree01a03fc4c1d010d18f45b31aa5e2e3a5f4a520f8 /src/core/file_sys
parentsdmc_factory: Add accessor for SDMC Album directory (diff)
downloadyuzu-0a8e54068191c911806c7b825e4050afd65a794c.tar.gz
yuzu-0a8e54068191c911806c7b825e4050afd65a794c.tar.xz
yuzu-0a8e54068191c911806c7b825e4050afd65a794c.zip
submisson_package: Fix edge case with improperly sized filenames
Prevents a crash if the filename is less than 9 characters long.
Diffstat (limited to 'src/core/file_sys')
-rw-r--r--src/core/file_sys/submission_package.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp
index 730221fd6..ef3084681 100644
--- a/src/core/file_sys/submission_package.cpp
+++ b/src/core/file_sys/submission_package.cpp
@@ -248,7 +248,8 @@ void NSP::InitializeExeFSAndRomFS(const std::vector<VirtualFile>& files) {
248 248
249void NSP::ReadNCAs(const std::vector<VirtualFile>& files) { 249void NSP::ReadNCAs(const std::vector<VirtualFile>& files) {
250 for (const auto& outer_file : files) { 250 for (const auto& outer_file : files) {
251 if (outer_file->GetName().substr(outer_file->GetName().size() - 9) != ".cnmt.nca") { 251 if (outer_file->GetName().size() < 9 ||
252 outer_file->GetName().substr(outer_file->GetName().size() - 9) != ".cnmt.nca") {
252 continue; 253 continue;
253 } 254 }
254 255