Pete Disdale created DIRMINA-1181:
-------------------------------------

             Summary: Exception thrown when attempting to decode certain UTF16 
chars
                 Key: DIRMINA-1181
                 URL: https://issues.apache.org/jira/browse/DIRMINA-1181
             Project: MINA
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.1.6
         Environment: Linux, Windows, Java 8, Java 17
            Reporter: Pete Disdale
         Attachments: MacronTest.java

When trying to decode a UTF16BE input stream containing characters ot the form 
\uxx00, for example \u0100 (capital A with macron) the method 
*AbstractIoBuffer.getString(CharsetDecoder)* incorrectly interprets the second 
byte as a null terminator (causing a java.nio.charset.MalformedInputException 
to be thrown) despite this null byte being mid-character (at an odd index). The 
attached file, MacronTest, demonstrates the issue and when run produces the 
following output:

buf = ABC
Exception in thread "main" java.nio.charset.MalformedInputException: Input 
length = 1
    at 
java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:274)
    at 
org.apache.mina.core.buffer.AbstractIoBuffer.getString(AbstractIoBuffer.java:1669)
    at MacronTest.<init>(MacronTest.java:61)
    at MacronTest.main(MacronTest.java:13)

It looks like this issue is also in the 2.2.X branch (3.X/trunk not checked).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to