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

Tejesh R tr at openjdk.org
Mon May 22 16:10:06 UTC 2023


On Mon, 22 May 2023 15:39:32 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:

>> Tejesh R has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Updated based on review comments
>
> src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java line 725:
> 
>> 723:                                     || (chooser.isDirectorySelectionEnabled()
>> 724:                                         && (fsv.isFileSystem(f)
>> 725:                                         || (fsv.isLink(f) && Files.isSymbolicLink(f.toPath())))
> 
> I don't think it's correct.
> 
> `Files.isSymbolicLink` should only be called for objects for which `fsv.isFileSystem(f)` returns `true`.
> 
> `fsv.isLink(f)` returns `true` for `.lnk` files which are the common Windows shortcuts; such a file can also be a symbolic link.

`Files.isSymbolicLink`  takes path as argument to check if its a symbolic link. For certain windows specific files as explained the path won't be exact path, rather a hex values. So directly validating with path is causing an exception. So `fsv.isLink()` is used as a first level validation which uses File to check if its valid. I didn't find any other alternatives to validate the file path, so used `fsv.isLink` as first level validation along with Symbolic Link check.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13998#discussion_r1200729311



More information about the client-libs-dev mailing list