On Wed, 22 Jun 2022 17:46:58 GMT, Naoto Sato <na...@openjdk.org> wrote:
>> 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 with a new target base due to a merge > or a rebase. The incremental webrev excludes the unrelated changes brought in > by the merge/rebase. The pull request contains seven additional commits since > the last revision: > > - Leave the log files in the current directory > - Merge branch 'master' into JDK-8288589 > - Moved `@Test` annotations > - Refined the test, adding more variations. > - Adding a test case in ReadWriteString.java > - Added c2b test > - 8288589: Files.readString ignores encoding errors for UTF-16 Marked as reviewed by alanb (Reviewer). ------------- PR: https://git.openjdk.org/jdk/pull/9193