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