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

garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git


The following commit(s) were added to refs/heads/master by this push:
     new d1d6214b reject trailing separators in PointConverter (#423)
d1d6214b is described below

commit d1d6214b395f23f6d9f4c78871c79413e60d2a8b
Author: Naveed Khan <[email protected]>
AuthorDate: Tue Jul 21 17:37:00 2026 +0000

    reject trailing separators in PointConverter (#423)
---
 .../org/apache/commons/beanutils2/converters/PointConverter.java  | 2 +-
 .../apache/commons/beanutils2/converters/PointConverterTest.java  | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/commons/beanutils2/converters/PointConverter.java 
b/src/main/java/org/apache/commons/beanutils2/converters/PointConverter.java
index 29c0c10f..50d0c563 100644
--- a/src/main/java/org/apache/commons/beanutils2/converters/PointConverter.java
+++ b/src/main/java/org/apache/commons/beanutils2/converters/PointConverter.java
@@ -72,7 +72,7 @@ public class PointConverter extends AbstractConverter<Point> {
             }
 
             final String coordinates = stringValue.substring(1, lastCharIndex);
-            final String[] xy = POINT_SPLIT.split(coordinates);
+            final String[] xy = POINT_SPLIT.split(coordinates, -1);
 
             if (xy.length != 2) {
                 throw new IllegalArgumentException("Point must have an x 
coordinate, and y coordinate only, expecting the following format: (40, 200)");
diff --git 
a/src/test/java/org/apache/commons/beanutils2/converters/PointConverterTest.java
 
b/src/test/java/org/apache/commons/beanutils2/converters/PointConverterTest.java
index d5d33a68..9904ebc5 100644
--- 
a/src/test/java/org/apache/commons/beanutils2/converters/PointConverterTest.java
+++ 
b/src/test/java/org/apache/commons/beanutils2/converters/PointConverterTest.java
@@ -20,9 +20,11 @@
 package org.apache.commons.beanutils2.converters;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.awt.Point;
 
+import org.apache.commons.beanutils2.ConversionException;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -53,4 +55,10 @@ class PointConverterTest {
         final Point actual = converter.convert(Point.class, "(100, 200)");
         assertEquals(expected, actual);
     }
+
+    @Test
+    void testTrailingSeparatorRejected() {
+        assertThrows(ConversionException.class, () -> 
converter.convert(Point.class, "(100,200,)"));
+        assertThrows(ConversionException.class, () -> 
converter.convert(Point.class, "(100,200,,)"));
+    }
 }

Reply via email to