mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-19 11:03:07 +08:00
improve exceptions in case of corrupt packages close pipes after exception occoured to avoid lingering connections should fix #788
This commit is contained in:
@@ -120,6 +120,14 @@ namespace MQTTnet.Formatter
|
||||
{
|
||||
if (receivedMqttPacket == null) throw new ArgumentNullException(nameof(receivedMqttPacket));
|
||||
|
||||
if (receivedMqttPacket.Body.Length < 7)
|
||||
{
|
||||
// 2 byte protocol name length
|
||||
// at least 4 byte protocol name
|
||||
// 1 byte protocol level
|
||||
throw new MqttProtocolViolationException("Mqtt Connect packet must have at least 7 bytes");
|
||||
}
|
||||
|
||||
var protocolName = receivedMqttPacket.Body.ReadStringWithLengthPrefix();
|
||||
var protocolLevel = receivedMqttPacket.Body.ReadByte();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user