Author: sebb
Date: Thu Sep 27 00:55:31 2012
New Revision: 1390795
URL: http://svn.apache.org/viewvc?rev=1390795&view=rev
Log:
LANG-832 FastDateParser does not handle unterminated quotes correctly
Modified:
commons/proper/lang/trunk/src/changes/changes.xml
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
Modified: commons/proper/lang/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/changes/changes.xml?rev=1390795&r1=1390794&r2=1390795&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/changes/changes.xml (original)
+++ commons/proper/lang/trunk/src/changes/changes.xml Thu Sep 27 00:55:31 2012
@@ -22,6 +22,7 @@
<body>
<release version="3.2" date="TBA" description="Next release">
+ <action issue="LANG-832" type="fix">FastDateParser does not handle
unterminated quotes correctly</action>
<action issue="LANG-831" type="fix">FastDateParser does not handle
white-space properly</action>
<action issue="LANG-828" type="fix">FastDateParser does not handle
non-Gregorian calendars properly</action>
<action issue="LANG-826" type="fix">FastDateParser does not handle
non-ASCII digits correctly</action>
Modified:
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java?rev=1390795&r1=1390794&r2=1390795&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
(original)
+++
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
Thu Sep 27 00:55:31 2012
@@ -141,6 +141,9 @@ public class FastDateParser implements D
currentFormatField= nextFormatField;
currentStrategy= nextStrategy;
}
+ if (patternMatcher.regionStart() != patternMatcher.regionEnd()) {
+ throw new IllegalArgumentException("Failed to parse
\""+pattern+"\" ; gave up at index "+patternMatcher.regionStart());
+ }
if(currentStrategy.addRegex(this, regex)) {
collector.add(currentStrategy);
}
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java?rev=1390795&r1=1390794&r2=1390795&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
(original)
+++
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/time/FastDateParserTest.java
Thu Sep 27 00:55:31 2012
@@ -333,6 +333,11 @@ public class FastDateParserTest {
assertEquals(cal.getTime(), fdf.parse("'20030210A'B153320989'"));
}
+ @Test
+ public void testLANG_832() throws Exception {
+ testSdfAndFdp("'d'd" ,"d3", false); // OK
+ testSdfAndFdp("'d'd'","d3", true); // should fail (unterminated quote)
+ }
@Test
public void testLANG_831() throws Exception {