diff --git a/System.Net.WebSockets.Client.Managed/ManagedWebSocket.cs b/System.Net.WebSockets.Client.Managed/ManagedWebSocket.cs index f5d8ebb..9c1f604 100644 --- a/System.Net.WebSockets.Client.Managed/ManagedWebSocket.cs +++ b/System.Net.WebSockets.Client.Managed/ManagedWebSocket.cs @@ -728,7 +728,7 @@ private async Task ReceiveAsyncPrivate(ArraySegment(payloadBuffer.Array, payloadBuffer.Offset, bytesToCopy), header.Fin, _utf8TextState)) + !TryValidateUtf8(new ArraySegment(payloadBuffer.Array, payloadBuffer.Offset, bytesToCopy), header.Fin && header.PayloadLength == 0, _utf8TextState)) { await CloseWithReceiveErrorAndThrowAsync(WebSocketCloseStatus.InvalidPayloadData, WebSocketError.Faulted, cancellationToken).ConfigureAwait(false); } @@ -1415,4 +1415,4 @@ private struct MessageHeader internal int Mask; } } -} \ No newline at end of file +}