--- old/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java 2019-01-24 19:09:41.000000000 -0500 +++ new/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java 2019-01-24 19:09:41.000000000 -0500 @@ -39,6 +39,9 @@ import java.nio.file.attribute.FileAttribute; import java.nio.file.attribute.FileAttributeView; import java.nio.file.spi.FileSystemProvider; +import java.security.AccessController; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -317,7 +320,13 @@ ////////////////////////////////////////////////////////////// void removeFileSystem(Path zfpath, ZipFileSystem zfs) throws IOException { synchronized (filesystems) { - zfpath = zfpath.toRealPath(); + Path tempPath = zfpath; + try { + zfpath = AccessController.doPrivileged( + (PrivilegedExceptionAction) () -> tempPath.toRealPath()); + } catch (PrivilegedActionException e) { + throw (IOException) e.getException(); + } if (filesystems.get(zfpath) == zfs) filesystems.remove(zfpath); }