diff --git a/rpcs3/Emu/Cell/Modules/sys_net.cpp b/rpcs3/Emu/Cell/Modules/sys_net.cpp index 93ad21d57e..9400683f8b 100644 --- a/rpcs3/Emu/Cell/Modules/sys_net.cpp +++ b/rpcs3/Emu/Cell/Modules/sys_net.cpp @@ -444,6 +444,12 @@ namespace sys_net memcpy(&_addr, addr.get_ptr(), sizeof(::sockaddr)); _addr.sa_family = addr->sa_family; + if (!sock || !buf || len == 0) + { + libnet.error("recvfrom(): invalid arguments buf= *0x%x, len=%d", buf, len); + return SYS_NET_EINVAL; + } + if (s < 0) { libnet.error("recvfrom(): invalid socket %d", s); return SYS_NET_EBADF;