diff --git a/Source/Core/Common/Src/ChunkFile.h b/Source/Core/Common/Src/ChunkFile.h index e26536735dc6..5a6f26e7c3e6 100644 --- a/Source/Core/Common/Src/ChunkFile.h +++ b/Source/Core/Common/Src/ChunkFile.h @@ -155,14 +155,7 @@ class PointerWrap Do(stringLen); switch (mode) { - case MODE_READ: - { - wchar_t* tmp = new wchar_t[stringLen / sizeof(wchar_t)]; - memcpy(tmp, *ptr, stringLen); - x = tmp; - delete[] tmp; - } - break; + case MODE_READ: x.assign((wchar_t*)*ptr, stringLen / sizeof(wchar_t)); break; case MODE_WRITE: memcpy(*ptr, x.c_str(), stringLen); break; case MODE_MEASURE: break; case MODE_VERIFY: _dbg_assert_msg_(COMMON, x == (wchar_t*)*ptr, "Savestate verification failure: \"%ls\" != \"%ls\" (at %p).\n", x.c_str(), (wchar_t*)*ptr, ptr); break;