You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2012/09/23 00:07:25 UTC

svn commit: r1388907 - in /camel/branches/camel-2.10.x/camel-core/src: main/java/org/apache/camel/util/FileUtil.java test/java/org/apache/camel/util/FileUtilTest.java

Author: cmueller
Date: Sat Sep 22 22:07:25 2012
New Revision: 1388907

URL: http://svn.apache.org/viewvc?rev=1388907&view=rev
Log:
fixed a regression in ValidatorSchemaImportTest which was introduced with r1388762

Modified:
    camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
    camel/branches/camel-2.10.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java

Modified: camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java?rev=1388907&r1=1388906&r2=1388907&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java (original)
+++ camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java Sat Sep 22 22:07:25 2012
@@ -209,12 +209,7 @@ public final class FileUtil {
         if (path == null) {
             return null;
         }
-
-        // only normalize path if it contains .. as we want to avoid: path/../sub/../sub2 as this can leads to trouble
-        if (path.indexOf("..") == -1) {
-            return path;
-        }
-
+        
         // only normalize if contains a path separator
         if (path.indexOf(File.separator) == -1) {
             return path;
@@ -234,6 +229,8 @@ public final class FileUtil {
             if (part.equals("..") && !stack.isEmpty() && !"..".equals(stack.peek())) {
                 // only pop if there is a previous path, which is not a ".." path either
                 stack.pop();
+            } else if (part.equals(".") || part.isEmpty()) {
+                // do nothing because we don't want a path like foo/./bar
             } else {
                 stack.push(part);
             }
@@ -379,6 +376,7 @@ public final class FileUtil {
         return renamed;
     }
 
+    @SuppressWarnings("resource")
     public static void copyFile(File from, File to) throws IOException {
         FileChannel in = new FileInputStream(from).getChannel();
         FileChannel out = new FileOutputStream(to).getChannel();

Modified: camel/branches/camel-2.10.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java?rev=1388907&r1=1388906&r2=1388907&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java (original)
+++ camel/branches/camel-2.10.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java Sat Sep 22 22:07:25 2012
@@ -144,6 +144,8 @@ public class FileUtilTest extends TestCa
             assertEquals("baz", FileUtil.compactPath("foo\\bar\\..\\..\\baz"));
             assertEquals("..\\baz", FileUtil.compactPath("foo\\bar\\..\\..\\..\\baz"));
             assertEquals("..\\foo\\bar", FileUtil.compactPath("..\\foo\\bar"));
+            assertEquals("foo\\bar\\baz", FileUtil.compactPath("foo\\bar\\.\\baz"));
+            assertEquals("foo\\bar\\baz", FileUtil.compactPath("foo\\bar\\\\baz"));
         } else {
             assertEquals("../foo", FileUtil.compactPath("../foo"));
             assertEquals("../../foo", FileUtil.compactPath("../../foo"));
@@ -156,6 +158,8 @@ public class FileUtilTest extends TestCa
             assertEquals("baz", FileUtil.compactPath("foo/bar/../../baz"));
             assertEquals("../baz", FileUtil.compactPath("foo/bar/../../../baz"));
             assertEquals("../foo/bar", FileUtil.compactPath("../foo/bar"));
+            assertEquals("foo/bar/baz", FileUtil.compactPath("foo/bar/./baz"));
+            assertEquals("foo/bar/baz", FileUtil.compactPath("foo/bar//baz"));
         }
     }