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