From 5de398c6a98b367c87d31b03a027f0a1d8b58cbc Mon Sep 17 00:00:00 2001 From: Benton60 Date: Fri, 27 Mar 2026 09:45:16 -0400 Subject: [PATCH] reserve extra space for scheme path to fix os-test/sys_socket/recvfrom --- src/platform/redox/socket.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/platform/redox/socket.rs b/src/platform/redox/socket.rs index 4ae7f2cac7..0dc0da6115 100644 --- a/src/platform/redox/socket.rs +++ b/src/platform/redox/socket.rs @@ -315,7 +315,7 @@ unsafe fn deserialize_name_from_stream( return Err(Errno(EMSGSIZE)); } if !mhdr.msg_name.is_null() && mhdr.msg_namelen > 0 { - let name_buffer = &msg_stream[*cursor..*cursor + name_len]; + let name_buffer = &msg_stream[*cursor..*cursor + name_len_in_stream]; (unsafe { inner_get_name_inner( false, @@ -325,7 +325,7 @@ unsafe fn deserialize_name_from_stream( ) })?; } - *cursor += name_len; + *cursor += name_len_in_stream; } else { // If name_len is 0, set msg_namelen to 0 mhdr.msg_namelen = 0; @@ -837,12 +837,13 @@ impl PalSocket for Sys { // [payload_len(usize)][payload_data_buffer] // [ancillary_stream_buffer] let expected_stream_size = { - mem::size_of::() // name_len + 64 //reserve extra space for the scheme path + + mem::size_of::() // name_len + mhdr.msg_namelen as usize // name_buffer + mem::size_of::() // payload_len + whole_iov_size // payload_data_buffer + mem::size_of::() // control_len - + mhdr.msg_controllen as usize // ancillary_stream_buffer + + mhdr.msg_controllen as usize // ancillary_stream_buffer }; msg_stream .try_reserve_exact(expected_stream_size)