> Please review this PR which improves validation of unmappable characters in > strings passed to `ZipFileSystem::getPath` and `ZipPath::resolve`. > > Currently, `ZipFileSystem::getPath` and `ZipPath::resolve` throw > `IllegalArgumentException` when rejecting a path or entry name which cannot > be encoded with the given charset. This PR adds validation to > `ZipFileSystem::getBytes` where a failed validation now throws > `InvalidPathException`. > > As far as I can tell, the transitive call sites of `ZipFileSystem::getBytes` > ends up being `ZipFileSystem::getPath` and `ZipPath::resolve`. > > A new test is added in the ZipFS area to verify that the APIs throw > exceptions according to specifications when faced with unmappable characters > in primary or secondary path string components. > > This PR is similar to a recently integrated change in the `ZipOutputStream` > API via #30319. > > A CSR has been drafted.
Eirik Bjørsnøs has updated the pull request incrementally with one additional commit since the last revision: Add missing indentation to ZipFileSystem::getBytes try block ------------- Changes: - all: https://git.openjdk.org/jdk/pull/30584/files - new: https://git.openjdk.org/jdk/pull/30584/files/f168668b..112fbc2b Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=30584&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=30584&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/30584.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30584/head:pull/30584 PR: https://git.openjdk.org/jdk/pull/30584
