Merge pull request #6148 from leoetlino/null-bug

NANDImporter: Construct strings correctly
This commit is contained in:
Leo Lam 2017-10-29 10:30:03 +01:00 committed by GitHub
commit 91dac03c45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 5 deletions

View File

@ -122,10 +122,7 @@ void NANDImporter::FindSuperblock()
std::string NANDImporter::GetPath(const NANDFSTEntry& entry, const std::string& parent_path)
{
std::string name(reinterpret_cast<const char*>(&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;

View File

@ -29,7 +29,7 @@ private:
#pragma pack(push, 1)
struct NANDFSTEntry
{
u8 name[12];
char name[12];
u8 mode; // 0x0C
u8 attr; // 0x0D
u16 sub; // 0x0E