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();

Reply via email to