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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to