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: [email protected]
For additional commands, e-mail: [email protected]