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