Browse Source

properly check return value of mapFileName

https://bz.apache.org/bugzilla/show_bug.cgi?id=62076
master
Stefan Bodewig 7 years ago
parent
commit
21b870006b
4 changed files with 14 additions and 2 deletions
  1. +4
    -1
      src/main/org/apache/tools/ant/taskdefs/Copy.java
  2. +3
    -0
      src/main/org/apache/tools/ant/taskdefs/CopyPath.java
  3. +3
    -0
      src/main/org/apache/tools/ant/taskdefs/Rmic.java
  4. +4
    -1
      src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java

+ 4
- 1
src/main/org/apache/tools/ant/taskdefs/Copy.java View File

@@ -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.");


+ 3
- 0
src/main/org/apache/tools/ant/taskdefs/CopyPath.java View File

@@ -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];


+ 3
- 0
src/main/org/apache/tools/ant/taskdefs/Rmic.java View File

@@ -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];


+ 4
- 1
src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java View File

@@ -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]);
}
}
}



Loading…
Cancel
Save