You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2025/12/26 12:39:30 UTC

svn commit: r1930872 - in pdfbox/branches/3.0/xmpbox/src: main/java/org/apache/xmpbox test/java/org/apache/xmpbox

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"),