Author: remm
Date: Fri Jan  4 16:22:34 2019
New Revision: 1850400

URL: http://svn.apache.org/viewvc?rev=1850400&view=rev
Log:
63019: Use payload remaining bytes rather than limit when writing. Submitted by 
Benoit Courtilly.

Modified:
    tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1850400&r1=1850399&r2=1850400&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java 
Fri Jan  4 16:22:34 2019
@@ -744,12 +744,12 @@ public abstract class WsRemoteEndpointIm
         }
 
         // Next write the mask && length length
-        if (payload.limit() < 126) {
-            headerBuffer.put((byte) (payload.limit() | b));
-        } else if (payload.limit() < 65536) {
+        if (payload.remaining() < 126) {
+            headerBuffer.put((byte) (payload.remaining() | b));
+        } else if (payload.remaining() < 65536) {
             headerBuffer.put((byte) (126 | b));
-            headerBuffer.put((byte) (payload.limit() >>> 8));
-            headerBuffer.put((byte) (payload.limit() & 0xFF));
+            headerBuffer.put((byte) (payload.remaining() >>> 8));
+            headerBuffer.put((byte) (payload.remaining() & 0xFF));
         } else {
             // Will never be more than 2^31-1
             headerBuffer.put((byte) (127 | b));
@@ -757,10 +757,10 @@ public abstract class WsRemoteEndpointIm
             headerBuffer.put((byte) 0);
             headerBuffer.put((byte) 0);
             headerBuffer.put((byte) 0);
-            headerBuffer.put((byte) (payload.limit() >>> 24));
-            headerBuffer.put((byte) (payload.limit() >>> 16));
-            headerBuffer.put((byte) (payload.limit() >>> 8));
-            headerBuffer.put((byte) (payload.limit() & 0xFF));
+            headerBuffer.put((byte) (payload.remaining() >>> 24));
+            headerBuffer.put((byte) (payload.remaining() >>> 16));
+            headerBuffer.put((byte) (payload.remaining() >>> 8));
+            headerBuffer.put((byte) (payload.remaining() & 0xFF));
         }
         if (masked) {
             headerBuffer.put(mask[0]);

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1850400&r1=1850399&r2=1850400&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Jan  4 16:22:34 2019
@@ -104,6 +104,14 @@
       </fix>
     </changelog>
   </subsection>
+  <subsection name="WebSocket">
+    <changelog>
+      <fix>
+        <bug>63019</bug>: Use payload remaining bytes rather than limit when
+        writing. Submitted by Benoit Courtilly. (remm)
+      </fix>
+    </changelog>
+  </subsection>
   <subsection name="Tribes">
     <changelog>
       <update>



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

Reply via email to