mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 14:08:37 +00:00
Fix race in Crypto/unedat.cpp, Make NPDRM keys usage atomic
This commit is contained in:
parent
97717defa5
commit
2483cc6f8d
13 changed files with 91 additions and 136 deletions
|
|
@ -341,7 +341,7 @@ void _sys_process_exit2(ppu_thread& ppu, s32 status, vm::ptr<sys_exit2_param> ar
|
|||
|
||||
vm::temporary_unlock(ppu);
|
||||
|
||||
Emu.CallAfter([path = std::move(path), argv = std::move(argv), envp = std::move(envp), data = std::move(data), disc = std::move(disc), hdd1 = std::move(hdd1), klic = g_fxo->get<loaded_npdrm_keys>()->devKlic]() mutable
|
||||
Emu.CallAfter([path = std::move(path), argv = std::move(argv), envp = std::move(envp), data = std::move(data), disc = std::move(disc), hdd1 = std::move(hdd1), klic = g_fxo->get<loaded_npdrm_keys>()->devKlic.load()]() mutable
|
||||
{
|
||||
sys_process.success("Process finished -> %s", argv[0]);
|
||||
Emu.SetForceBoot(true);
|
||||
|
|
@ -352,9 +352,10 @@ void _sys_process_exit2(ppu_thread& ppu, s32 status, vm::ptr<sys_exit2_param> ar
|
|||
Emu.disc = std::move(disc);
|
||||
Emu.hdd1 = std::move(hdd1);
|
||||
|
||||
if (klic != std::array<u8, 16>{})
|
||||
if (klic != v128{})
|
||||
{
|
||||
Emu.klic.assign(klic.begin(), klic.end());
|
||||
// TODO: Use std::optional
|
||||
Emu.klic.assign(std::begin(klic._bytes), std::end(klic._bytes));
|
||||
}
|
||||
|
||||
Emu.SetForceBoot(true);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue