From aa4fdff82cea9ca5fef2443e37d5fe52292a89ca Mon Sep 17 00:00:00 2001 From: Eladash Date: Sat, 13 Jun 2020 11:35:02 +0300 Subject: [PATCH] Fix lv2_obj::name64 regression --- rpcs3/Emu/Cell/lv2/sys_sync.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_sync.h b/rpcs3/Emu/Cell/lv2/sys_sync.h index 2c36932c66..34efca47b2 100644 --- a/rpcs3/Emu/Cell/lv2/sys_sync.h +++ b/rpcs3/Emu/Cell/lv2/sys_sync.h @@ -77,10 +77,13 @@ private: public: - static std::string name64(const u64& name_u64) + static std::string name64(u64 name_u64) { - std::string str{reinterpret_cast(&name_u64), 7}; + const auto ptr = reinterpret_cast(&name_u64); + // NTS string, ignore invalid/newline characters + // Example: "lv2\n\0tx" will be printed as "lv2" + std::string str{ptr, std::find(ptr, ptr + 7, '\0')}; str.erase(std::remove_if(str.begin(), str.end(), [](uchar c){ return !std::isprint(c); }), str.end()); return str;