diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index 2beb85fbf4..59049d016e 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 (Common::MakeMagic('N', 'S', 'O', '0') == magic) { - return FileType::NSO; + if (file->ReadObject(&magic) != sizeof(magic)) { + return FileType::Error; } - return FileType::Error; + if (Common::MakeMagic('N', 'S', 'O', '0') != magic) { + return FileType::Error; + } + + return FileType::NSO; } static std::vector DecompressSegment(const std::vector& compressed_data,