Author: tilman
Date: Fri Dec 26 12:39:29 2025
New Revision: 1930872

Log:
PDFBOX-6134: catch bad date + add test

Modified:
   pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
   
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java

Modified: 
pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
==============================================================================
--- 
pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java   
    Fri Dec 26 12:39:25 2025        (r1930871)
+++ 
pdfbox/branches/3.0/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java   
    Fri Dec 26 12:39:29 2025        (r1930872)
@@ -106,6 +106,11 @@ public final class DateConverter
                 {
                     date = date.substring(2);
                 }
+                int posOfT = date.indexOf('T');
+                if (posOfT != 10 && posOfT != -1)
+                {
+                    throw new IOException("Error converting date:" + date);
+                }
 
                 date = date.replaceAll("[-:T]", "");
 

Modified: 
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
==============================================================================
--- 
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
   Fri Dec 26 12:39:25 2025        (r1930871)
+++ 
pdfbox/branches/3.0/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
   Fri Dec 26 12:39:29 2025        (r1930872)
@@ -96,6 +96,7 @@ class DateConverterTest
         assertThrows(IOException.class, () -> 
DateConverter.toCalendar("2008-12-02T21:04:0Z"));
         assertThrows(IOException.class, () -> 
DateConverter.toCalendar("0-01-01T00:00:00Z"));
         assertThrows(IOException.class, () -> 
DateConverter.toCalendar("2009-03-16T01:15:19-0-4:00"));
+        assertThrows(IOException.class, () -> 
DateConverter.toCalendar("0-00-00T00:00:00-04:00"));
 
         //Test missing seconds
         assertEquals(DateConverter.toCalendar("2015-12-08T12:07:00-05:00"),

Reply via email to