From fd433779bbb844e481b2436b37fc0e4bdc7d83f7 Mon Sep 17 00:00:00 2001 From: Eladash Date: Fri, 26 Jul 2019 11:47:30 +0300 Subject: [PATCH] sys_prx: Tiny improvement --- rpcs3/Emu/Cell/lv2/sys_prx.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_prx.cpp b/rpcs3/Emu/Cell/lv2/sys_prx.cpp index f40c577c90..c33be08516 100644 --- a/rpcs3/Emu/Cell/lv2/sys_prx.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_prx.cpp @@ -1,4 +1,4 @@ -#include "stdafx.h" +#include "stdafx.h" #include "sys_prx.h" #include "Emu/System.h" @@ -257,6 +257,11 @@ error_code _sys_prx_start_module(u32 id, u64 flags, vm::ptr(id); if (!prx) @@ -301,7 +306,7 @@ error_code _sys_prx_unload_module(u32 id, u64 flags, vm::ptr(id); - if (!pOpt || !pOpt->info || !prx) + if (!pOpt) + { + return CELL_EFAULT; + } + + if (pOpt->size != pOpt.size() || !pOpt->info) { return CELL_EINVAL; } + if (!prx) + { + return CELL_PRX_ERROR_UNKNOWN_MODULE; + } + std::memset(pOpt->info->name, 0, 30); std::memcpy(pOpt->info->name, prx->module_info_name, 28); pOpt->info->version[0] = prx->module_info_version[0];