diff --git a/mavlink-core/src/peek_reader.rs b/mavlink-core/src/peek_reader.rs index 47eb874cb1723aff6e6f4cab88bb305c86c269ae..8b316d7ad032da2a0985e6884db6f99b382e16c4 100644 --- a/mavlink-core/src/peek_reader.rs +++ b/mavlink-core/src/peek_reader.rs @@ -134,6 +134,12 @@ impl<R: Read, const BUFFER_SIZE: usize> PeekReader<R, BUFFER_SIZE> { // read needed bytes from reader let bytes_read = self.reader.read(&mut buf[..bytes_to_read])?; + if bytes_read == 0 { + return Err(MessageReadError::Io( + std::io::ErrorKind::UnexpectedEof.into(), + )); + } + // if some bytes were read, add them to the buffer if self.buffer.len() - self.top < bytes_read {