Pārlūkot izejas kodu

Merge pull request #163 from kpreisser/fixInfiniteLoop

Fix infinite loop when the client closes the connection
release/3.x.x
Christian pirms 6 gadiem
committed by GitHub
vecāks
revīzija
64c997a4a2
Šim parakstam datu bāzē netika atrasta zināma atslēga GPG atslēgas ID: 4AEE18F83AFDEB23
1 mainītis faili ar 6 papildinājumiem un 0 dzēšanām
  1. +6
    -0
      Frameworks/MQTTnet.NetStandard/Adapter/MqttChannelAdapter.cs

+ 6
- 0
Frameworks/MQTTnet.NetStandard/Adapter/MqttChannelAdapter.cs Parādīt failu

@@ -137,6 +137,12 @@ namespace MQTTnet.Adapter
do
{
var readBytesCount = await stream.ReadAsync(body, offset, body.Length - offset, cancellationToken).ConfigureAwait(false);
// Check if the client closed the connection before sending the full body.
if (readBytesCount == 0)
{
throw new MqttCommunicationException("Connection closed while reading remaining packet body.");
}

offset += readBytesCount;
} while (offset < header.BodyLength);


Notiek ielāde…
Atcelt
Saglabāt