This is an automated email from the ASF dual-hosted git repository. elharo pushed a commit to branch array in repository https://gitbox.apache.org/repos/asf/maven-war-plugin.git
commit ed7a9b1b923970af644442a428ddabab302ce6e0 Author: Elliotte Rusty Harold <[email protected]> AuthorDate: Mon Nov 24 19:39:10 2025 -0600 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 | 5 ++--- 2 files changed, 3 insertions(+), 4 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..78a4e4b 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 @@ -323,13 +323,12 @@ public class WarProjectPackagingTask extends AbstractWarPackagingTask { scanner.setBasedir(resource.getDirectory()); if (resource.getIncludes() != null && !resource.getIncludes().isEmpty()) { scanner.setIncludes(resource.getIncludes() - .toArray(new String[resource.getIncludes().size()])); + .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();
