This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new 9f2ef34343 [MNG-8349] Avoid exceptions with invalid modelVersion 
(#1848)
9f2ef34343 is described below

commit 9f2ef3434390da0f558224acccfdbdc9194c65e9
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Thu Oct 24 16:37:25 2024 +0200

    [MNG-8349] Avoid exceptions with invalid modelVersion (#1848)
---
 .../maven/internal/impl/model/DefaultModelValidator.java      | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/maven-api-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelValidator.java
 
b/maven-api-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelValidator.java
index 56f3fde5f3..7dd0adf4c2 100644
--- 
a/maven-api-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelValidator.java
+++ 
b/maven-api-impl/src/main/java/org/apache/maven/internal/impl/model/DefaultModelValidator.java
@@ -1963,8 +1963,7 @@ public class DefaultModelValidator implements 
ModelValidator {
         String[] firstSegments = first.split("\\.");
         String[] secondSegments = second.split("\\.");
         for (int i = 0; i < Math.max(firstSegments.length, 
secondSegments.length); i++) {
-            int result = Long.valueOf(i < firstSegments.length ? 
firstSegments[i] : "0")
-                    .compareTo(Long.valueOf(i < secondSegments.length ? 
secondSegments[i] : "0"));
+            int result = asLong(i, firstSegments).compareTo(asLong(i, 
secondSegments));
             if (result != 0) {
                 return result;
             }
@@ -1972,6 +1971,14 @@ public class DefaultModelValidator implements 
ModelValidator {
         return 0;
     }
 
+    private static Long asLong(int index, String[] segments) {
+        try {
+            return Long.valueOf(index < segments.length ? segments[index] : 
"0");
+        } catch (NumberFormatException e) {
+            return 0L;
+        }
+    }
+
     @SuppressWarnings("checkstyle:parameternumber")
     private boolean validateBannedCharacters(
             String prefix,

Reply via email to