Przeglądaj źródła

submisson_package: Fix edge case with improperly sized filenames

Prevents a crash if the filename is less than 9 characters long.
Zach Hilman 7 lat temu
rodzic
commit
0a8e540681
1 zmienionych plików z 2 dodań i 1 usunięć
  1. 2 1
      src/core/file_sys/submission_package.cpp

+ 2 - 1
src/core/file_sys/submission_package.cpp

@@ -248,7 +248,8 @@ void NSP::InitializeExeFSAndRomFS(const std::vector<VirtualFile>& files) {
 
 
 void NSP::ReadNCAs(const std::vector<VirtualFile>& files) {
 void NSP::ReadNCAs(const std::vector<VirtualFile>& files) {
     for (const auto& outer_file : files) {
     for (const auto& outer_file : files) {
-        if (outer_file->GetName().substr(outer_file->GetName().size() - 9) != ".cnmt.nca") {
+        if (outer_file->GetName().size() < 9 ||
+            outer_file->GetName().substr(outer_file->GetName().size() - 9) != ".cnmt.nca") {
             continue;
             continue;
         }
         }