Spec for java.nio.file.Path methods says when security manager is installed SecurityManager.checkRead(String) and SecurityManager.checkWrite(String file) methdos get called. But what is happening is in unix implementations SecurityManager.checkPermission(Permission p) is getting called insteadof checkRead(String file).
Specificallt Path.isSameFile() says "In the case of the default provider, and a security manager is installed, sm.checkRead(String file) method is invoked to check read access to both files". In Solaris and Linux it calls checkPermission(Permission) where as in windows it calls checkRead(String file).
Attached test cases PathSecurityTest01 and PathSecurityTest02 passes in Windows fails in Solaris and Linux.
|