diff --git a/Source/Core/DiscIO/NANDImporter.cpp b/Source/Core/DiscIO/NANDImporter.cpp index 5a9983ce03..4256167b89 100644 --- a/Source/Core/DiscIO/NANDImporter.cpp +++ b/Source/Core/DiscIO/NANDImporter.cpp @@ -109,10 +109,7 @@ void NANDImporter::FindSuperblock() std::string NANDImporter::GetPath(const NANDFSTEntry& entry, const std::string& parent_path) { - std::string name(reinterpret_cast(&entry.name), sizeof(NANDFSTEntry::name)); - // Get rid of any extra null characters - while (name.back() == '\0') - name.pop_back(); + std::string name(entry.name, strnlen(entry.name, sizeof(NANDFSTEntry::name))); if (name.front() == '/' || parent_path.back() == '/') return parent_path + name; diff --git a/Source/Core/DiscIO/NANDImporter.h b/Source/Core/DiscIO/NANDImporter.h index 09ed7034cb..185a8efd84 100644 --- a/Source/Core/DiscIO/NANDImporter.h +++ b/Source/Core/DiscIO/NANDImporter.h @@ -25,7 +25,7 @@ private: #pragma pack(push, 1) struct NANDFSTEntry { - u8 name[12]; + char name[12]; u8 mode; // 0x0C u8 attr; // 0x0D u16 sub; // 0x0E