From 55dd265276fddc5141bca7e29da1fb50b478028e Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 1 Jul 2026 19:13:39 +0000 Subject: [PATCH] properly handle writebuffer and dont write OOB --- src/core/hle/service/sockets/bsd.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index 6cedd888ff..4eb1f5b58e 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -676,8 +676,8 @@ Network::Errno BSD::GetPeerNameImpl(s32 fd, std::vector& write_buffer) { if (bsd_errno != Network::Errno::SUCCESS) { return bsd_errno; } - ASSERT(write_buffer.size() >= sizeof(addr_in)); - write_buffer.resize(sizeof(addr_in)); + ASSERT(write_buffer.size() >= addr_in.len); + write_buffer.resize(addr_in.len); PutValue(write_buffer, addr_in); return bsd_errno; } @@ -696,8 +696,8 @@ Network::Errno BSD::GetSockNameImpl(s32 fd, std::vector& write_buffer) { if (bsd_errno != Network::Errno::SUCCESS) { return bsd_errno; } - ASSERT(write_buffer.size() >= sizeof(addr_in)); - write_buffer.resize(sizeof(addr_in)); + ASSERT(write_buffer.size() >= addr_in.len); + write_buffer.resize(addr_in.len); PutValue(write_buffer, addr_in); return bsd_errno; }