From 56f44cdbe8170b173b9065e7a1817327e09b1be8 Mon Sep 17 00:00:00 2001 From: wackazong Date: Fri, 22 Nov 2024 14:48:31 +0100 Subject: [PATCH] Fix socket_addr_len socket_addr_len "Specifies the length in bytes of the buffer pointed to by the buffer argument.", see https://pubs.opengroup.org/onlinepubs/9699919799/functions/recvfrom.html. Now correctly returns the senders IP address. --- src/socket.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/socket.rs b/src/socket.rs index 3fb0ced..be08577 100644 --- a/src/socket.rs +++ b/src/socket.rs @@ -518,7 +518,7 @@ impl Socket { let mut socket_addr_store = [0u8; core::mem::size_of::()]; let socket_addr_ptr = socket_addr_store.as_mut_ptr() as *mut nrfxlib_sys::nrf_sockaddr; - let mut socket_addr_len = 0u32; + let mut socket_addr_len = socket_addr_store.len() as u32; register_socket_waker(cx.waker().clone(), self.fd, SocketDirection::In);