diff --git a/rpcs3/Emu/Cell/lv2/sys_net.cpp b/rpcs3/Emu/Cell/lv2/sys_net.cpp index c87782bb33..cc244c12fd 100644 --- a/rpcs3/Emu/Cell/lv2/sys_net.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_net.cpp @@ -817,29 +817,23 @@ error_code sys_net_bnet_getsockname(ppu_thread& ppu, s32 s, vm::ptr(s, [&](lv2_socket& sock) -> sys_net_error { std::lock_guard lock(sock.mutex); - ::sockaddr_storage native_addr; - ::socklen_t native_addrlen = sizeof(native_addr); - if (::getsockname(sock.socket, reinterpret_cast(&native_addr), &native_addrlen) == 0) { verify(HERE), native_addr.ss_family == AF_INET; - vm::ptr paddr = vm::cast(addr.addr()); - - if (paddrlen) - { - *paddrlen = sizeof(sys_net_sockaddr_in); - } - - paddr->sin_len = sizeof(sys_net_sockaddr_in); - paddr->sin_family = SYS_NET_AF_INET; - paddr->sin_port = std::bit_cast, u16>(reinterpret_cast(&native_addr)->sin_port); - paddr->sin_addr = std::bit_cast, u32>(reinterpret_cast(&native_addr)->sin_addr.s_addr); - paddr->sin_zero = 0; return {}; } @@ -856,6 +850,15 @@ error_code sys_net_bnet_getsockname(ppu_thread& ppu, s32 s, vm::ptr paddr = vm::cast(addr.addr()); + paddr->sin_len = sizeof(sys_net_sockaddr_in); + paddr->sin_family = SYS_NET_AF_INET; + paddr->sin_port = std::bit_cast, u16>(reinterpret_cast(&native_addr)->sin_port); + paddr->sin_addr = std::bit_cast, u32>(reinterpret_cast(&native_addr)->sin_addr.s_addr); + paddr->sin_zero = 0; + return CELL_OK; }