You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2018/02/09 17:50:46 UTC
[3/4] ant git commit: properly check return value of mapFileName
properly check return value of mapFileName
https://bz.apache.org/bugzilla/show_bug.cgi?id=62076
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/21b87000
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/21b87000
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/21b87000
Branch: refs/heads/master
Commit: 21b870006b985713b76723e73a64607a0d7d63fe
Parents: a324656
Author: Stefan Bodewig <bo...@apache.org>
Authored: Fri Feb 9 18:39:08 2018 +0100
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Fri Feb 9 18:39:08 2018 +0100
----------------------------------------------------------------------
src/main/org/apache/tools/ant/taskdefs/Copy.java | 5 ++++-
src/main/org/apache/tools/ant/taskdefs/CopyPath.java | 3 +++
src/main/org/apache/tools/ant/taskdefs/Rmic.java | 3 +++
.../org/apache/tools/ant/taskdefs/optional/Native2Ascii.java | 5 ++++-
4 files changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/21b87000/src/main/org/apache/tools/ant/taskdefs/Copy.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Copy.java b/src/main/org/apache/tools/ant/taskdefs/Copy.java
index 42f7cb7..fab7379 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Copy.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Copy.java
@@ -788,6 +788,9 @@ public class Copy extends Task {
for (int i = 0; i < toCopy.length; i++) {
final File src = new File(fromDir, toCopy[i]);
final String[] mappedFiles = mapper.mapFileName(toCopy[i]);
+ if (mappedFiles == null || mappedFiles.length == 0) {
+ continue;
+ }
if (!enableMultipleMappings) {
map.put(src.getAbsolutePath(),
@@ -836,7 +839,7 @@ public class Copy extends Task {
}
for (int i = 0; i < toCopy.length; i++) {
final String[] mappedFiles = mapper.mapFileName(toCopy[i].getName());
- if (mappedFiles == null) {
+ if (mappedFiles == null || mappedFiles.length == 0) {
throw new BuildException("Can't copy a resource without a"
+ " name if the mapper doesn't"
+ " provide one.");
http://git-wip-us.apache.org/repos/asf/ant/blob/21b87000/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/CopyPath.java b/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
index 53596fd..bad9e5d 100644
--- a/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
+++ b/src/main/org/apache/tools/ant/taskdefs/CopyPath.java
@@ -182,6 +182,9 @@ public class CopyPath extends Task {
String sourceFileName = sourceFiles[sources];
File sourceFile = new File(sourceFileName);
String[] toFiles = (String[]) mapper.mapFileName(sourceFileName);
+ if (toFiles == null) {
+ continue;
+ }
for (int i = 0; i < toFiles.length; i++) {
String destFileName = toFiles[i];
http://git-wip-us.apache.org/repos/asf/ant/blob/21b87000/src/main/org/apache/tools/ant/taskdefs/Rmic.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Rmic.java b/src/main/org/apache/tools/ant/taskdefs/Rmic.java
index d72c39e..0a54b3e 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Rmic.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Rmic.java
@@ -709,6 +709,9 @@ public class Rmic extends MatchingTask {
String classFileName = classname.replace('.', File.separatorChar)
+ ".class";
String[] generatedFiles = adapter.getMapper().mapFileName(classFileName);
+ if (generatedFiles == null) {
+ return;
+ }
for (int i = 0; i < generatedFiles.length; i++) {
final String generatedFile = generatedFiles[i];
http://git-wip-us.apache.org/repos/asf/ant/blob/21b87000/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java b/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java
index 664e574..1474cce 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java
@@ -255,7 +255,10 @@ public class Native2Ascii extends MatchingTask {
+ (count != 1 ? "s" : "") + " from ";
log(message + srcDir + " to " + destDir);
for (int i = 0; i < files.length; i++) {
- convert(files[i], m.mapFileName(files[i])[0]);
+ String[] dest = m.mapFileName(files[i]);
+ if (dest != null && dest.length > 0) {
+ convert(files[i], dest[0]);
+ }
}
}