Author: markt Date: Mon Feb 20 22:03:18 2012 New Revision: 1291479 URL: http://svn.apache.org/viewvc?rev=1291479&view=rev Log: Process mask as unsigned int. Based on ideas in a larger patch by Petr Praus, Jonathan Drake & Slávka
Modified: tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java Modified: tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java?rev=1291479&r1=1291478&r2=1291479&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java (original) +++ tomcat/trunk/java/org/apache/catalina/websocket/WsInputStream.java Mon Feb 20 22:03:18 2012 @@ -26,7 +26,7 @@ public class WsInputStream extends java. private UpgradeProcessor<?> processor; private WsFrameHeader wsFrameHeader; private long payloadLength = -1; - private byte[] mask = new byte[4]; + private int[] mask = new int[4]; private long remaining; @@ -70,7 +70,9 @@ public class WsInputStream extends java. } remaining = payloadLength; - processor.read(mask); + for (int j = 0; j < mask.length; j++) { + mask[j] = processor.read() & 0xFF; + } } public WsFrameHeader getFrameHeader() { @@ -100,6 +102,9 @@ public class WsInputStream extends java. read++; int masked = processor.read(); + if(masked == -1) { + return -1; + } return masked ^ mask[(int) ((read - 1) % 4)]; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org