Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x 3e8cc7b67 -> f50c13de5


Move #checkFileName() to Files because it doesn't deal with IO streams

Actually execute the check.
Fix Javadoc problems.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f50c13de
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f50c13de
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f50c13de

Branch: refs/heads/wicket-6.x
Commit: f50c13de5f9de3c6df77ae72f8b6e57bed615c24
Parents: 3e8cc7b
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Sat Aug 13 14:13:40 2016 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Sat Aug 13 14:20:25 2016 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/util/file/Files.java | 36 ++++++++++++++++++++
 .../java/org/apache/wicket/util/io/Streams.java | 35 -------------------
 .../apache/wicket/util/upload/DiskFileItem.java |  8 ++---
 3 files changed, 39 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/f50c13de/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java 
b/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
index 72af504..471bf1c 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
@@ -24,6 +24,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.security.InvalidParameterException;
 
 import org.apache.wicket.util.encoding.UrlDecoder;
 import org.apache.wicket.util.io.IOUtils;
@@ -462,4 +463,39 @@ public class Files
                logger.error("Failed to create directory: " + folder);
                return false;
        }
+
+       /**
+        * Checks, whether the given file name is valid in the sense, that it
+        * doesn't contain any NUL characters. If the file name is valid, it 
will be
+        * returned without any modifications. Otherwise, an
+        * {@link InvalidParameterException} will be thrown.
+        *
+        * @param fileName
+        *            The file name to check
+        * @return Unmodified file name, if valid.
+        * @throws InvalidParameterException
+        *             If the file name was found to be invalid.
+        */
+       public static String checkFileName(String fileName)
+       {
+               if (fileName != null && fileName.indexOf('\u0000') != -1)
+               {
+                       final StringBuilder sb = new StringBuilder();
+                       for (int i = 0; i < fileName.length(); i++)
+                       {
+                               char c = fileName.charAt(i);
+                               switch (c)
+                               {
+                                       case 0 :
+                                               sb.append("\\0");
+                                               break;
+                                       default :
+                                               sb.append(c);
+                                               break;
+                               }
+                       }
+                       throw new InvalidParameterException("Invalid file name: 
" + sb);
+               }
+               return fileName;
+       }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/f50c13de/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java 
b/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java
index f2fc907..1c4519d 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java
@@ -206,41 +206,6 @@ public final class Streams
        }
 
        /**
-        * Checks, whether the given file name is valid in the sense, that it
-        * doesn't contain any NUL characters. If the file name is valid, it 
will be
-        * returned without any modifications. Otherwise, an
-        * {@link InvalidFileNameException} is raised.
-        *
-        * @param fileName
-        *            The file name to check
-        * @return Unmodified file name, if valid.
-        * @throws InvalidFileNameException
-        *             The file name was found to be invalid.
-        */
-       public static String checkFileName(String fileName)
-       {
-               if (fileName != null && fileName.indexOf('\u0000') != -1)
-               {
-                       final StringBuilder sb = new StringBuilder();
-                       for (int i = 0; i < fileName.length(); i++)
-                       {
-                               char c = fileName.charAt(i);
-                               switch (c)
-                               {
-                                       case 0 :
-                                               sb.append("\\0");
-                                               break;
-                                       default :
-                                               sb.append(c);
-                                               break;
-                               }
-                       }
-                       throw new InvalidParameterException("Invalid file name: 
" + sb);
-               }
-               return fileName;
-       }
-       
-       /**
         * Private to prevent instantiation.
         */
        private Streams()

http://git-wip-us.apache.org/repos/asf/wicket/blob/f50c13de/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java
----------------------------------------------------------------------
diff --git 
a/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java 
b/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java
index e95c672..15ea74e 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java
@@ -617,11 +617,7 @@ public class DiskFileItem implements FileItem, 
FileItemHeadersSupport
                        File tempDir = repository;
                        if (tempDir == null)
                        {
-                               if (repository != null)
-                               {
-                                       
Streams.checkFileName(repository.getPath());
-                               }
-                               String systemTmp = null;
+                               String systemTmp;
                                try
                                {
                                        systemTmp = 
System.getProperty("java.io.tmpdir");
@@ -636,6 +632,8 @@ public class DiskFileItem implements FileItem, 
FileItemHeadersSupport
                                tempDir = new File(systemTmp);
                        }
 
+                       Files.checkFileName(tempDir.getPath());
+
                        try
                        {
                                do

Reply via email to