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}."); + } } }