You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/02/21 00:42:13 UTC

svn commit: r1291522 - /tomcat/trunk/java/org/apache/catalina/websocket/StreamInbound.java

Author: markt
Date: Mon Feb 20 23:42:13 2012
New Revision: 1291522

URL: http://svn.apache.org/viewvc?rev=1291522&view=rev
Log:
Ensure control frames are not fragmented

Modified:
    tomcat/trunk/java/org/apache/catalina/websocket/StreamInbound.java

Modified: tomcat/trunk/java/org/apache/catalina/websocket/StreamInbound.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/StreamInbound.java?rev=1291522&r1=1291521&r2=1291522&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/websocket/StreamInbound.java (original)
+++ tomcat/trunk/java/org/apache/catalina/websocket/StreamInbound.java Mon Feb 20 23:42:13 2012
@@ -67,8 +67,10 @@ public abstract class StreamInbound impl
             return SocketState.UPGRADED;
         }
 
-        // Must be a control from and they have limited pay load length
-        if (wsIs.getPayloadLength() > 125) {
+        // Must be a control frame and control frames:
+        // - have a limited payload length
+        // - must not be fragmented
+        if (wsIs.getPayloadLength() > 125 || !wsIs.getFrameHeader().getFin()) {
             getOutbound().close(1002, null);
             return SocketState.CLOSED;
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org