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

Reply via email to