RFR: 8307105: JFileChooser InvalidPathException when selecting some system folders on Windows [v8]

Tejesh R tr at openjdk.org
Wed May 31 06:13:22 UTC 2023


> This is a regression from fix [JDK-8281966](https://bugs.openjdk.org/browse/JDK-8281966): Absolute path of symlink is null in JFileChooser. The fix checks whether the file path is a symbolic link using `Files.isSymbolicLink()` method with path as input. In windows for specific folders like "This PC"/"Network"/"Libraries" the path value will be a hex values which causes InvalidPathException. In order to resolve the issue, since no other checks are available to validate the path of these folders, checking if the file is link firstly and then for symbolic link resolves the problem (since File.isLink() doesn't take path as input rather file is a parameter). Since every symbolic link is a link, this fix seems logical to me.
> The fix is tested in CI for regression and is green. The regression fix is also tested for confirmation and works fine.

Tejesh R 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 10 additional commits since the last revision:

 - Merge Master + Updated based on review comments
 - Merge branch 'master' of https://git.openjdk.java.net/jdk into branch_8307105
 - Updated new fix
 - Merge branch 'master' of https://git.openjdk.java.net/jdk into branch_8307105
 - White space fix
 - Alternate Fix
 - Updated based on review comments
 - Updated based on review comments
 - Updated based on review comments
 - Fix + Manual Test

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/13998/files
  - new: https://git.openjdk.org/jdk/pull/13998/files/a946c73a..a8beb1ed

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13998&range=07
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13998&range=06-07

  Stats: 5946 lines in 157 files changed: 4468 ins; 813 del; 665 mod
  Patch: https://git.openjdk.org/jdk/pull/13998.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13998/head:pull/13998

PR: https://git.openjdk.org/jdk/pull/13998



More information about the client-libs-dev mailing list