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
