< prev index next >

src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystemProvider.java

Print this page

        

*** 37,46 **** --- 37,49 ---- import java.nio.file.DirectoryStream.Filter; import java.nio.file.attribute.BasicFileAttributes; 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; import java.util.concurrent.ExecutorService; import java.util.zip.ZipException;
*** 315,325 **** } ////////////////////////////////////////////////////////////// void removeFileSystem(Path zfpath, ZipFileSystem zfs) throws IOException { synchronized (filesystems) { ! zfpath = zfpath.toRealPath(); if (filesystems.get(zfpath) == zfs) filesystems.remove(zfpath); } } } --- 318,334 ---- } ////////////////////////////////////////////////////////////// void removeFileSystem(Path zfpath, ZipFileSystem zfs) throws IOException { synchronized (filesystems) { ! Path tempPath = zfpath; ! try { ! zfpath = AccessController.doPrivileged( ! (PrivilegedExceptionAction<Path>) () -> tempPath.toRealPath()); ! } catch (PrivilegedActionException e) { ! throw (IOException) e.getException(); ! } if (filesystems.get(zfpath) == zfs) filesystems.remove(zfpath); } } }
< prev index next >