This is an automated email from the ASF dual-hosted git repository.
elharo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-war-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new cbfc8dc Prefer toArray(new String[0]) (#592)
cbfc8dc is described below
commit cbfc8dc2e900d1f0ae925f06eecc07559f758df3
Author: Elliotte Rusty Harold <[email protected]>
AuthorDate: Tue Nov 25 07:32:18 2025 -0600
Prefer toArray(new String[0]) (#592)
passing a pre-sized array is dangerous for a concurrent or synchronized
collection as a data race is possible between the size and toArray calls. This
may result in extra nulls at the end of the array if the collection was
concurrently shrunk during the operation.
---
src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java | 2 +-
.../apache/maven/plugins/war/packaging/WarProjectPackagingTask.java | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java
b/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java
index 4a7930f..ad929a2 100644
--- a/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java
+++ b/src/main/java/org/apache/maven/plugins/war/AbstractWarMojo.java
@@ -423,7 +423,7 @@ public abstract class AbstractWarMojo extends AbstractMojo {
excludeList.add("**/META-INF/" + containerConfigXML.getName());
}
- return excludeList.toArray(new String[excludeList.size()]);
+ return excludeList.toArray(new String[0]);
}
/**
diff --git
a/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java
b/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java
index b00ddbc..7f8a579 100644
---
a/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java
+++
b/src/main/java/org/apache/maven/plugins/war/packaging/WarProjectPackagingTask.java
@@ -322,14 +322,12 @@ public class WarProjectPackagingTask extends
AbstractWarPackagingTask {
DirectoryScanner scanner = new DirectoryScanner();
scanner.setBasedir(resource.getDirectory());
if (resource.getIncludes() != null &&
!resource.getIncludes().isEmpty()) {
- scanner.setIncludes(resource.getIncludes()
- .toArray(new String[resource.getIncludes().size()]));
+ scanner.setIncludes(resource.getIncludes().toArray(new String[0]));
} else {
scanner.setIncludes(DEFAULT_INCLUDES);
}
if (resource.getExcludes() != null &&
!resource.getExcludes().isEmpty()) {
- scanner.setExcludes(resource.getExcludes()
- .toArray(new String[resource.getExcludes().size()]));
+ scanner.setExcludes(resource.getExcludes().toArray(new String[0]));
}
scanner.addDefaultExcludes();