java.nio.BufferOverflow exception while decoding ByteBuffer with UTF-16 charset -------------------------------------------------------------------------------
Key: HARMONY-33 URL: http://issues.apache.org/jira/browse/HARMONY-33 Project: Harmony Type: Bug Components: Classlib Reporter: Vladimir Strigun Assigned to: Geir Magnusson Jr Priority: Minor If I try to decode ByteBuffer with lengh 1 using UTF-16 decoder unexpected java.nio.BufferOverflow exception occured. Please see testcase below. import java.nio.*; import java.nio.charset.*; import junit.framework.TestCase; public class TestDecoder extends TestCase { public static void main(String[] args) { junit.textui.TestRunner.run(TestDecoder.class); } public static void testDecoder(){ try{ ByteBuffer bb = ByteBuffer.allocate(1); bb.put(0,(byte)77); CharsetDecoder utf16D = Charset.forName("UTF-16").newDecoder(); CharBuffer cb = utf16D.onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE).decode(bb); }catch(Exception e){ fail("Exception occured: "+e); } } } Output on RI: . Time: 0,03 OK (1 test) Output with Harmony: .F Time: 0,01 There was 1 failure: 1) testDecoder(TestDecoder)junit.framework.AssertionFailedError: Exception occured: java.nio.BufferOverflowException at TestDecoder.testDecoder(TestDecoder.java:20) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:211) at TestDecoder.main(TestDecoder.java:10) FAILURES!!! Tests run: 1, Failures: 1, Errors: 0 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira