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

Reply via email to