Skip to content

UnifiedTree.isRecursiveLink() links check may skip some links #2220

@iloveeclipse

Description

@iloveeclipse

Users & tools on Linux are creative in creating links. Both link parent and link itself might be not normalized or being part of other link structures. I've per occasion found a case where recursive link check skips some links (it ignores IOExceptions on purpose) because the code didn't considered level of creativity from our users.

Anyway, the UnifiedTree.isRecursiveLink() code might (silently) skip valid links tests while testing for the "real path" constructed by using "wrong" parts (normalized and not normalized) of the valid link.
In such case exception below will be swallowed.

java.nio.file.NoSuchFileException: /some/path/with/link
	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
	at java.base/sun.nio.fs.UnixPath.toRealPath(UnixPath.java:834)

I will provide a test & a fix tomorrow.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions