From da2afe2bf9714deef0a6fec82f26d26f21797ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Miko=C5=82ajczyk?= Date: Fri, 18 Jul 2025 23:50:00 +0100 Subject: [PATCH] review fixes --- src/core/libraries/network/net.cpp | 17 ++++++++++++----- src/core/libraries/network/sys_net.cpp | 3 +-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/core/libraries/network/net.cpp b/src/core/libraries/network/net.cpp index b3837f317..cc8391867 100644 --- a/src/core/libraries/network/net.cpp +++ b/src/core/libraries/network/net.cpp @@ -699,7 +699,6 @@ int PS4_SYSV_ABI sceNetEpollControl(OrbisNetId epollid, OrbisNetEpollFlag op, Or } #ifdef __linux__ - // const auto socket = Common::Singleton::Instance()->socks[id]; auto* h = Common::Singleton::Instance(); auto* file = h->GetFile(id); if (!file || file->type != Core::FileSys::FileType::Socket) { @@ -739,7 +738,12 @@ int PS4_SYSV_ABI sceNetEpollControl(OrbisNetId epollid, OrbisNetEpollFlag op, Or } #ifdef __linux__ - const auto socket = Common::Singleton::Instance()->socks[id]; + auto* h = Common::Singleton::Instance(); + auto* file = h->GetFile(id); + if (!file || file->type != Core::FileSys::FileType::Socket) { + return -ORBIS_NET_EBADF; + } + const auto socket = file->socket; ASSERT(epoll_ctl(epoll->epoll_fd, EPOLL_CTL_DEL, socket->Native(), nullptr) == 0); #endif epoll->events.erase(it); @@ -1220,7 +1224,7 @@ const char* PS4_SYSV_ABI sceNetInetNtop(int af, const void* src, char* dst, u32 LOG_ERROR(Lib_Net, "returned ORBIS_NET_ENOSPC"); return nullptr; } - LOG_DEBUG(Lib_Net, "called, af = {}"); + LOG_DEBUG(Lib_Net, "called, af = {}", af); const char* returnvalue = nullptr; switch (af) { @@ -1267,7 +1271,7 @@ int PS4_SYSV_ABI sceNetInetPton(int af, const char* src, void* dst) { int res = inet_pton(ConvertFamilies(af), src, dst); #endif if (res < 0) { - UNREACHABLE_MSG("af = {}, src = {}, dst = {:#x}", af, src, reinterpret_cast(dst)); + UNREACHABLE_MSG("af = {}, src = {}, dst = {:#x}", af, src, fmt::ptr(dst)); } return res; } @@ -1586,7 +1590,10 @@ int PS4_SYSV_ABI sceNetResolverStartNtoa(OrbisNetId resolverid, const char* host if ((flags & ORBIS_NET_RESOLVER_ASYNC) != 0) { // moves processing to EpollWait - UNREACHABLE_MSG("unimplemented"); + LOG_ERROR(Lib_Net, "async resolution is not implemented"); + *sceNetErrnoLoc() = ORBIS_NET_RESOLVER_EINTERNAL; + auto ret = -ORBIS_NET_RESOLVER_EINTERNAL | ORBIS_NET_ERROR_BASE; + return ret; } const addrinfo hints = { diff --git a/src/core/libraries/network/sys_net.cpp b/src/core/libraries/network/sys_net.cpp index f6db325ed..e6c6fe346 100644 --- a/src/core/libraries/network/sys_net.cpp +++ b/src/core/libraries/network/sys_net.cpp @@ -33,8 +33,7 @@ int PS4_SYSV_ABI sys_connect(OrbisNetId s, const OrbisNetSockaddr* addr, u32 add return -1; } int PS4_SYSV_ABI sys_bind(OrbisNetId s, const OrbisNetSockaddr* addr, u32 addrlen) { - LOG_DEBUG(Lib_Net, "s = {}, addr = {:#x}, addrlen = {}", s, reinterpret_cast(addr), - addrlen); + LOG_DEBUG(Lib_Net, "s = {}, addr = {:#x}, addrlen = {}", s, fmt::ptr(addr), addrlen); auto* h = Common::Singleton::Instance(); auto* file = h->GetFile(s);