From 0b751c01de2dc2ec1229e68452c50ebe79c93f85 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 cd10f0c489..a4e378537f 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -704,8 +704,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; } @@ -724,8 +724,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; }