Skip to content

Commit a992fb1

Browse files
committed
Merge pull request #2095 from asomers/recvmsg-lifetime
Fix an incorrect lifetime in the return value of recvmsg
1 parent cedf7a1 commit a992fb1

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

src/sys/socket/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2051,7 +2051,7 @@ fn pack_mhdr_to_send<'a, I, C, S>(
20512051
/// [recvmsg(2)](https://pubs.opengroup.org/onlinepubs/9699919799/functions/recvmsg.html)
20522052
pub fn recvmsg<'a, 'outer, 'inner, S>(fd: RawFd, iov: &'outer mut [IoSliceMut<'inner>],
20532053
mut cmsg_buffer: Option<&'a mut Vec<u8>>,
2054-
flags: MsgFlags) -> Result<RecvMsg<'a, 'inner, S>>
2054+
flags: MsgFlags) -> Result<RecvMsg<'a, 'outer, S>>
20552055
where S: SockaddrLike + 'a,
20562056
'inner: 'outer
20572057
{

test/sys/test_socket.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -330,13 +330,9 @@ pub fn test_recvmsg_sockaddr_un() {
330330

331331
// Receive the message
332332
let mut recv_buffer = [0u8; 32];
333-
let received = socket::recvmsg(
334-
sock,
335-
&mut [std::io::IoSliceMut::new(&mut recv_buffer)],
336-
None,
337-
MsgFlags::empty(),
338-
)
339-
.unwrap();
333+
let mut iov = [std::io::IoSliceMut::new(&mut recv_buffer)];
334+
let received =
335+
socket::recvmsg(sock, &mut iov, None, MsgFlags::empty()).unwrap();
340336
// Check the address in the received message
341337
assert_eq!(sockaddr, received.address.unwrap());
342338
}

0 commit comments

Comments
 (0)