RFR: 8349812: (fs) Files.newByteChannel with empty path name and CREATE_NEW throws unexpected exception [v4]
Maxim Kartashev
mkartashev at openjdk.org
Thu Feb 13 10:37:44 UTC 2025
> `UnixFileChannelFactory.open()` checks for the current directory by looking at the first byte of the name, which in case of an empty path is simply not there. This check throws an `ArrayIndexOutOfBoundsException` and prevents the correct exception from being thrown.
>
> The suggested solution is to use another method that translates a path name into a byte array called `getByteArrayForSysCalls()` that is specifically designed to handle the case of empty path names.
>
> Tested by running `java/nio` tests on Linux.
Maxim Kartashev has updated the pull request incrementally with one additional commit since the last revision:
Fixed the test to pass on Windows also
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23560/files
- new: https://git.openjdk.org/jdk/pull/23560/files/c415adae..fe5c10b9
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23560&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23560&range=02-03
Stats: 5 lines in 1 file changed: 3 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/23560.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23560/head:pull/23560
PR: https://git.openjdk.org/jdk/pull/23560
More information about the nio-dev
mailing list