Author: markt Date: Mon Mar 4 00:56:09 2013 New Revision: 1452162 URL: http://svn.apache.org/r1452162 Log: Add final zero padding test Associated fix to my tweaks to Harmony's decoder
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8Extended.java Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java?rev=1452162&r1=1452161&r2=1452162&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/buf/Utf8Decoder.java Mon Mar 4 00:56:09 2013 @@ -188,11 +188,11 @@ public class Utf8Decoder extends Charset } } if (jchar == 0x70 && inIndexLimit > inIndex + 1) { - if ((bArr[inIndex + 1] & 0x7F) < 0x10) { + if ((bArr[inIndex + 1] & 0x70) == 0) { // 11110000 1000zzzz 1oyyyyyy 1oxxxxxx // should have been // 111ozzzz 1oyyyyyy 1oxxxxxx - return CoderResult.malformedForLength(4); + return CoderResult.malformedForLength(1); } } break; Modified: tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8Extended.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8Extended.java?rev=1452162&r1=1452161&r2=1452162&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8Extended.java (original) +++ tomcat/trunk/test/org/apache/tomcat/util/buf/TestUtf8Extended.java Mon Mar 4 00:56:09 2013 @@ -83,6 +83,12 @@ public class TestUtf8Extended { new int[] {0xE0, 0x80, 0xC1}, 1, "\uFFFD\uFFFD\uFFFD").setSkipErrorForJvm(true)); + // JVM decoder does not report error until all 4 bytes are available + testCases.add(new Utf8TestCase( + "Valid sequence padded from one byte to four", + new int[] {0xF0, 0x80, 0x80, 0xC1}, + 1, + "\uFFFD\uFFFD\uFFFD\uFFFD").setSkipErrorForJvm(true)); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org