diff --git a/neqo-udp/src/lib.rs b/neqo-udp/src/lib.rs index 688fb8ff65..0e0be1a760 100644 --- a/neqo-udp/src/lib.rs +++ b/neqo-udp/src/lib.rs @@ -136,6 +136,20 @@ mod tests { Ok(socket) } + #[test] + fn zero_sized_read() -> Result<(), io::Error> { + let socket = Socket::new(std::net::UdpSocket::bind("127.0.0.1:0")?)?; + let addr: SocketAddr = "127.0.0.1:0".parse().unwrap(); + socket + .recv(&addr) + .expect("receive to succeed") + .into_iter() + .next() + .expect("receive to yield datagram"); + + Ok(()) + } + #[test] fn datagram_tos() -> Result<(), io::Error> { let sender = socket()?;