> This is a regression caused by the fix to > [JDK-8286287](https://bugs.openjdk.org/browse/JDK-8286287), which assumed the > method `String.decodeWithDecoder()` was only invoked with cs.REPLACE mode > based on the comment "should not happen". Possibly this refers to the > `String(byte[], int, int, Charset)` constructor, which specifically mentions > the `REPLACE` mode. However, the method is invoked with > `String.newStringNoRepl()` and it should NOT replace the malformed input > (duh!). The fix is to throw an `Error` for the former case as before the > regression, and `CharacterCodingException` for the latter via an > `IllegalArgumentException`. > In fact, `Files.readString()` stopped throwing a `MalformedInputException` > since JDK17 with the fix to JDK-8259842, which started throwing an `Error`.
Naoto Sato has updated the pull request incrementally with one additional commit since the last revision: Refined the test, adding more variations. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/9193/files - new: https://git.openjdk.org/jdk/pull/9193/files/f6520503..84d127be Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=9193&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=9193&range=02-03 Stats: 25 lines in 1 file changed: 14 ins; 4 del; 7 mod Patch: https://git.openjdk.org/jdk/pull/9193.diff Fetch: git fetch https://git.openjdk.org/jdk pull/9193/head:pull/9193 PR: https://git.openjdk.org/jdk/pull/9193