> 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

Reply via email to