Repository: ant Updated Branches: refs/heads/master 06bdb4521 -> 71715055c
COMPRESS-312 normalize filename in TarEntry's (File, String) constructor Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/71715055 Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/71715055 Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/71715055 Branch: refs/heads/master Commit: 71715055cd0a9a993d91159d0aa49e5eee13d935 Parents: 06bdb45 Author: Stefan Bodewig <[email protected]> Authored: Sat Mar 28 20:15:36 2015 +0100 Committer: Stefan Bodewig <[email protected]> Committed: Sat Mar 28 20:15:36 2015 +0100 ---------------------------------------------------------------------- WHATSNEW | 3 +++ src/main/org/apache/tools/tar/TarEntry.java | 13 +++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ant/blob/71715055/WHATSNEW ---------------------------------------------------------------------- diff --git a/WHATSNEW b/WHATSNEW index 82f78ac..187bd2b 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -81,6 +81,9 @@ Fixed bugs: when tasks spawned new child threads that accessed the properties. Bugzilla Report 55074 + * TarArchiveEntry's constructor with a File and a String arg didn't + normalize the name. + Other changes: -------------- http://git-wip-us.apache.org/repos/asf/ant/blob/71715055/src/main/org/apache/tools/tar/TarEntry.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/tar/TarEntry.java b/src/main/org/apache/tools/tar/TarEntry.java index 0bfc926..dc9b64e 100644 --- a/src/main/org/apache/tools/tar/TarEntry.java +++ b/src/main/org/apache/tools/tar/TarEntry.java @@ -257,7 +257,7 @@ public class TarEntry implements TarConstants { * @param file The file that the entry represents. */ public TarEntry(File file) { - this(file, normalizeFileName(file.getPath(), false)); + this(file, file.getPath()); } /** @@ -270,6 +270,7 @@ public class TarEntry implements TarConstants { public TarEntry(File file, String fileName) { this(); + String normalizedName = normalizeFileName(fileName, false); this.file = file; this.linkName = ""; @@ -278,18 +279,18 @@ public class TarEntry implements TarConstants { this.mode = DEFAULT_DIR_MODE; this.linkFlag = LF_DIR; - int nameLength = fileName.length(); - if (nameLength == 0 || fileName.charAt(nameLength - 1) != '/') { - this.name = fileName + "/"; + int nameLength = normalizedName.length(); + if (nameLength == 0 || normalizedName.charAt(nameLength - 1) != '/') { + this.name = normalizedName + "/"; } else { - this.name = fileName; + this.name = normalizedName; } this.size = 0; } else { this.mode = DEFAULT_FILE_MODE; this.linkFlag = LF_NORMAL; this.size = file.length(); - this.name = fileName; + this.name = normalizedName; } this.modTime = file.lastModified() / MILLIS_PER_SECOND;
