diff --git a/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/FileBasedFileSystem.java b/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/FileBasedFileSystem.java --- a/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/FileBasedFileSystem.java +++ b/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/FileBasedFileSystem.java @@ -65,6 +65,7 @@ import org.netbeans.modules.masterfs.providers.ProvidedExtensions; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileSystem; +import org.openide.filesystems.FileUtil; import org.openide.util.Exceptions; import org.openide.util.Lookup; import org.openide.util.Utilities; @@ -204,14 +205,10 @@ } else { name = (name.startsWith("/")) ? name : ("/"+name); } + if (name.contains("..")) { + name = FileUtil.normalizePath(name); + } File f = new File(name); - if (name.contains("..")) { - try { - f = f.getCanonicalFile(); - } catch (IOException ex) { - LOG.log(Level.WARNING, "Cannot canonicalize " + f, ex); - } - } return getFileObject(f); } diff --git a/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FolderObj.java b/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FolderObj.java --- a/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FolderObj.java +++ b/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FolderObj.java @@ -74,6 +74,7 @@ import org.openide.filesystems.FileChangeListener; import org.openide.filesystems.FileLock; import org.openide.filesystems.FileObject; +import org.openide.filesystems.FileUtil; import org.openide.util.Exceptions; import org.openide.util.Mutex; @@ -111,11 +112,7 @@ } File file = new File(getFileName().getFile(), relativePath); if (relativePath.contains("..")) { - try { - file = file.getCanonicalFile(); - } catch (IOException ex) { - LOG.log(Level.WARNING, "Cannot canonicalize " + file, ex); - } + file = FileUtil.normalizeFile(file); } FileObjectFactory factory = getFactory();