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,,)"));
+ }
}