diff --git a/YAMDCC.IPC/IO/PipeStreamReader.cs b/YAMDCC.IPC/IO/PipeStreamReader.cs
index bbf83e1..50126c6 100644
--- a/YAMDCC.IPC/IO/PipeStreamReader.cs
+++ b/YAMDCC.IPC/IO/PipeStreamReader.cs
@@ -73,21 +73,22 @@ private int ReadLength()
{
byte[] lenbuf = new byte[SIZE_INT];
int bytesRead = BaseStream.Read(lenbuf, 0, SIZE_INT);
- if (bytesRead == 0)
- {
- return 0;
- }
- return bytesRead != SIZE_INT
- ? throw new IOException($"Expected {SIZE_INT} bytes but read {bytesRead}")
- : IPAddress.NetworkToHostOrder(BitConverter.ToInt32(lenbuf, 0));
+ return bytesRead == 0
+ ? 0
+ : bytesRead != SIZE_INT
+ ? throw new IOException($"Expected {SIZE_INT} bytes, but read {bytesRead}.")
+ : IPAddress.NetworkToHostOrder(BitConverter.ToInt32(lenbuf, 0));
}
///
private T ReadObject(int len)
{
byte[] data = new byte[len];
- BaseStream.Read(data, 0, len);
- return MessagePackSerializer.Deserialize(data, _options);
+ int bytesRead = BaseStream.Read(data, 0, data.Length);
+ return bytesRead == len
+ ? MessagePackSerializer.Deserialize(data, _options)
+ : throw new IOException($"Expected {SIZE_INT} bytes, but read {bytesRead}.");
+
}
}
}