From a3deb2f5b3436e9e31cde6fbb245b17f1a3bc721 Mon Sep 17 00:00:00 2001 From: Stanislav Kusovskyi <kusovsky95@gmail.com> Date: Sun, 22 Dec 2024 17:44:27 +0000 Subject: [PATCH] fix: handle unexpected EOF in PeekReader in case zero bytes has read --- mavlink-core/src/peek_reader.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mavlink-core/src/peek_reader.rs b/mavlink-core/src/peek_reader.rs index 47eb874..8b316d7 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 { -- GitLab