properly handle writebuffer and dont write OOB

This commit is contained in:
lizzie 2026-07-01 19:13:39 +00:00 • committed by crueter
parent 8bec8954c5
commit 9a08b5ca7d

View file

@ -704,8 +704,8 @@ Network::Errno BSD::GetPeerNameImpl(s32 fd, std::vector<u8>& write_buffer) {
if (bsd_errno != Network::Errno::SUCCESS) { if (bsd_errno != Network::Errno::SUCCESS) {
return bsd_errno; return bsd_errno;
} }
ASSERT(write_buffer.size() >= sizeof(addr_in)); ASSERT(write_buffer.size() >= addr_in.len);
write_buffer.resize(sizeof(addr_in)); write_buffer.resize(addr_in.len);
PutValue(write_buffer, addr_in); PutValue(write_buffer, addr_in);
return bsd_errno; return bsd_errno;
} }
@ -724,8 +724,8 @@ Network::Errno BSD::GetSockNameImpl(s32 fd, std::vector<u8>& write_buffer) {
if (bsd_errno != Network::Errno::SUCCESS) { if (bsd_errno != Network::Errno::SUCCESS) {
return bsd_errno; return bsd_errno;
} }
ASSERT(write_buffer.size() >= sizeof(addr_in)); ASSERT(write_buffer.size() >= addr_in.len);
write_buffer.resize(sizeof(addr_in)); write_buffer.resize(addr_in.len);
PutValue(write_buffer, addr_in); PutValue(write_buffer, addr_in);
return bsd_errno; return bsd_errno;
} }