[jdk16] RFR: 8259028: ClassCastException when using custom filesystem with wrapper FileChannel impl [v2]

Maurizio Cimadamore mcimadamore at openjdk.java.net
Wed Jan 6 16:32:17 UTC 2021


> This patch tweaks `MemorySegment::mapFile` so that it will throw `IllegalArgumentException` whenever the path to be mapped is associated with a custom file system provider.
> 
> The check in the implementation is heavily borrowed by what `UnixDomainSocketAddress::of(Path)` does (thanks Alan for the tip!). Not only we have to check if file system is the default one, but also if the default FS belongs to java.base (since that can be overridden).
> 
> The test simply check that paths coming from the (internal) JRT file system are not supported by the factory.

Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:

  Simplify test not to depend on JDK internals

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk16/pull/90/files
  - new: https://git.openjdk.java.net/jdk16/pull/90/files/4ff84b5b..aaea5ece

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk16&pr=90&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk16&pr=90&range=00-01

  Stats: 3 lines in 1 file changed: 0 ins; 2 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk16/pull/90.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk16 pull/90/head:pull/90

PR: https://git.openjdk.java.net/jdk16/pull/90


More information about the core-libs-dev mailing list