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