Просмотр исходного кода

submisson_package: Fix edge case with improperly sized filenames

Prevents a crash if the filename is less than 9 characters long.
Zach Hilman 7 лет назад
Родитель
Сommit
0a8e540681
1 измененных файлов с 2 добавлено и 1 удалено
  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) {
     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;
         }