diff --git a/Core/Dialog/SavedataParam.cpp b/Core/Dialog/SavedataParam.cpp index 7e6d0d5e05..d3e336ab14 100644 --- a/Core/Dialog/SavedataParam.cpp +++ b/Core/Dialog/SavedataParam.cpp @@ -526,7 +526,8 @@ bool SavedataParam::Load(SceUtilitySavedataParam *param, const std::string &save if(DecryptSave(decryptMode, data_base, &saveSize, &align_len, ((param->key[0] != 0)?cryptKey:0)) == 0) { - memcpy(data_, data_base, saveSize); + if (Memory::IsValidAddress(u32(data_))) + memcpy(data_, data_base, saveSize); saveDone = true; } delete[] data_base;