diff --git a/rpcs3/Emu/SysCalls/Modules/sysPrxForUser.cpp b/rpcs3/Emu/SysCalls/Modules/sysPrxForUser.cpp index bb6482a913..77d3ef2fee 100644 --- a/rpcs3/Emu/SysCalls/Modules/sysPrxForUser.cpp +++ b/rpcs3/Emu/SysCalls/Modules/sysPrxForUser.cpp @@ -559,7 +559,7 @@ s32 _sys_printf(vm::ptr fmt) // va_args... return CELL_OK; } -s32 sys_process_get_paramsfo(vm::ptr buffer) +s32 sys_process_get_paramsfo(vm::ptr buffer) { sysPrxForUser.Warning("sys_process_get_paramsfo(buffer=0x%x)", buffer); diff --git a/rpcs3/Emu/SysCalls/lv2/sys_process.cpp b/rpcs3/Emu/SysCalls/lv2/sys_process.cpp index bee066ff1c..d1f7662387 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_process.cpp +++ b/rpcs3/Emu/SysCalls/lv2/sys_process.cpp @@ -288,7 +288,7 @@ s32 sys_process_is_spu_lock_line_reservation_address(u32 addr, u64 flags) return process_is_spu_lock_line_reservation_address(addr, flags); } -s32 _sys_process_get_paramsfo(vm::ptr buffer) +s32 _sys_process_get_paramsfo(vm::ptr buffer) { sys_process.Warning("_sys_process_get_paramsfo(buffer=0x%x)", buffer); @@ -298,7 +298,7 @@ s32 _sys_process_get_paramsfo(vm::ptr buffer) } memset(buffer.get_ptr(), 0, 0x40); - memcpy(buffer.get_ptr(), Emu.GetTitleID().c_str(), Emu.GetTitleID().length()); + memcpy(buffer.get_ptr() + 1, Emu.GetTitleID().c_str(), std::min(Emu.GetTitleID().length(), 9)); return CELL_OK; } diff --git a/rpcs3/Emu/SysCalls/lv2/sys_process.h b/rpcs3/Emu/SysCalls/lv2/sys_process.h index e0a8f78bf7..376a9791fc 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_process.h +++ b/rpcs3/Emu/SysCalls/lv2/sys_process.h @@ -33,7 +33,7 @@ s32 sys_process_getpid(); s32 sys_process_getppid(); s32 sys_process_get_number_of_object(u32 object, vm::ptr nump); s32 sys_process_get_id(u32 object, vm::ptr buffer, u32 size, vm::ptr set_size); -s32 _sys_process_get_paramsfo(vm::ptr buffer); +s32 _sys_process_get_paramsfo(vm::ptr buffer); s32 sys_process_get_sdk_version(u32 pid, vm::ptr version); s32 sys_process_get_status(u64 unk); s32 sys_process_is_spu_lock_line_reservation_address(u32 addr, u64 flags);