Author: tilman
Date: Fri Dec 26 12:39:25 2025
New Revision: 1930871

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

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

Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java
==============================================================================
--- pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java      
Fri Dec 26 12:38:51 2025        (r1930870)
+++ pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/DateConverter.java      
Fri Dec 26 12:39:25 2025        (r1930871)
@@ -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/trunk/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java
==============================================================================
--- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java  
Fri Dec 26 12:38:51 2025        (r1930870)
+++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/DateConverterTest.java  
Fri Dec 26 12:39:25 2025        (r1930871)
@@ -116,6 +116,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