diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/loader/nso.cpp | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index 2beb85fbf..59049d016 100644 --- a/src/core/loader/nso.cpp +++ b/src/core/loader/nso.cpp @@ -55,13 +55,15 @@ AppLoader_NSO::AppLoader_NSO(FileSys::VirtualFile file) : AppLoader(std::move(fi  FileType AppLoader_NSO::IdentifyType(const FileSys::VirtualFile& file) {      u32 magic = 0; -    file->ReadObject(&magic); +    if (file->ReadObject(&magic) != sizeof(magic)) { +        return FileType::Error; +    } -    if (Common::MakeMagic('N', 'S', 'O', '0') == magic) { -        return FileType::NSO; +    if (Common::MakeMagic('N', 'S', 'O', '0') != magic) { +        return FileType::Error;      } -    return FileType::Error; +    return FileType::NSO;  }  static std::vector<u8> DecompressSegment(const std::vector<u8>& compressed_data,  | 
