mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-07-09 17:25:18 -06:00
Add missing sanity check in savedata_op
This commit is contained in:
parent
33123bff04
commit
e32d19ffac
@ -1155,15 +1155,16 @@ static NEVER_INLINE error_code savedata_op(ppu_thread& ppu, u32 operation, u32 v
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto delete_save = [&]()
|
const auto delete_save = [&]()
|
||||||
{
|
{
|
||||||
strcpy_trunc(doneGet->dirName, save_entries[selected].dirName);
|
const SaveDataEntry& entry = ::at32(save_entries, selected);
|
||||||
|
strcpy_trunc(doneGet->dirName, entry.dirName);
|
||||||
doneGet->hddFreeSizeKB = 40 * 1024 * 1024 - 256; // Read explanation in cellHddGameCheck
|
doneGet->hddFreeSizeKB = 40 * 1024 * 1024 - 256; // Read explanation in cellHddGameCheck
|
||||||
doneGet->excResult = CELL_OK;
|
doneGet->excResult = CELL_OK;
|
||||||
std::memset(doneGet->reserved, 0, sizeof(doneGet->reserved));
|
std::memset(doneGet->reserved, 0, sizeof(doneGet->reserved));
|
||||||
|
|
||||||
const std::string old_path = base_dir + ".backup_" + save_entries[selected].escaped + "/";
|
const std::string old_path = base_dir + ".backup_" + entry.escaped + "/";
|
||||||
const std::string del_path = base_dir + save_entries[selected].escaped + "/";
|
const std::string del_path = base_dir + entry.escaped + "/";
|
||||||
|
|
||||||
const fs::dir _dir(del_path);
|
const fs::dir _dir(del_path);
|
||||||
u64 size_bytes = 0;
|
u64 size_bytes = 0;
|
||||||
@ -1456,7 +1457,7 @@ static NEVER_INLINE error_code savedata_op(ppu_thread& ppu, u32 operation, u32 v
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fmt::throw_exception("Invalid savedata selected");
|
fmt::throw_exception("Invalid savedata selected (selected=%d)", selected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user