Author: fanningpj
Date: Sun Jun 21 12:13:21 2026
New Revision: 1935539

Log:
reject trailing dot with empty fraction in GDate time parse. Thanks to aizu-m. 
This closes #65

Modified:
   xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java
   xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/GDateTests.java

Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java Sun Jun 21 
12:12:13 2026        (r1935538)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/GDate.java Sun Jun 21 
12:13:21 2026        (r1935539)
@@ -281,6 +281,9 @@ public final class GDate implements GDat
                         }
                         throw new IllegalArgumentException();
                     }
+                } else {
+                    // a '.' must be followed by at least one fractional digit
+                    throw new IllegalArgumentException("fractional seconds 
must contain at least one digit");
                 }
             }
 

Modified: 
xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/GDateTests.java
==============================================================================
--- xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/GDateTests.java  
Sun Jun 21 12:12:13 2026        (r1935538)
+++ xmlbeans/trunk/src/test/java/xmlobject/schematypes/checkin/GDateTests.java  
Sun Jun 21 12:13:21 2026        (r1935539)
@@ -184,6 +184,9 @@ public class GDateTests {
         "00:00:00-14:01", // tz
         "00:00:00+15:00", // tz
         "00:00:00-15:00", // tz
+        "1996-02-29T00:00:00.", // trailing '.' with no fractional digits
+        "00:00:00.", // trailing '.' with no fractional digits
+        "2001-12-31T07:00:59.Z", // '.' followed by timezone, no fractional 
digits
     };
 
     private static final String[] validDates = {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to