diff --git a/websocket-sharp/WebSocketFrame.cs b/websocket-sharp/WebSocketFrame.cs index 57bd838e..9a71a76f 100644 --- a/websocket-sharp/WebSocketFrame.cs +++ b/websocket-sharp/WebSocketFrame.cs @@ -481,14 +481,16 @@ Extended Payload Length: {7} throw new WebSocketException (CloseStatusCode.ProtocolError, msg); } - if (opcode.IsControl () && fin == Fin.More) { - var msg = "A control frame is fragmented."; - throw new WebSocketException (CloseStatusCode.ProtocolError, msg); - } + if (opcode.IsControl ()) { + if (fin == Fin.More) { + var msg = "A control frame is fragmented."; + throw new WebSocketException (CloseStatusCode.ProtocolError, msg); + } - if (opcode.IsControl () && payloadLen > 125) { - var msg = "A control frame has too long payload length."; - throw new WebSocketException (CloseStatusCode.ProtocolError, msg); + if (payloadLen > 125) { + var msg = "A control frame has too long payload length."; + throw new WebSocketException (CloseStatusCode.ProtocolError, msg); + } } var frame = new WebSocketFrame ();