diff --git a/netstack/src/scheme/udp.rs b/netstack/src/scheme/udp.rs index 449ba80445..aabaa0a10f 100644 --- a/netstack/src/scheme/udp.rs +++ b/netstack/src/scheme/udp.rs @@ -383,7 +383,11 @@ impl<'a> SchemeSocket for UdpSocket<'a> { file: &SchemeFile, buf: &mut [u8], ) -> SyscallResult { - self.fpath(file, buf) + if self.endpoint().is_specified() { + return self.fpath(file, buf) + } else { + return Err(SyscallError::new(syscall::ENOTCONN)); + } } fn handle_shutdown(&mut self, file: &mut SchemeFile, how: usize) -> SyscallResult {