Revision: 11791
Author: [email protected]
Date: Wed Jun 13 02:10:37 2012
Log: Return an error when parsing invalid dates where a number
immediately follows a word.
BUG=53209,126448
TEST=mjsunit/date-parse.js
[email protected]
Review URL: https://chromiumcodereview.appspot.com/10541138
http://code.google.com/p/v8/source/detail?r=11791
Modified:
/branches/bleeding_edge/src/dateparser-inl.h
/branches/bleeding_edge/test/mjsunit/date-parse.js
=======================================
--- /branches/bleeding_edge/src/dateparser-inl.h Fri Jul 1 04:41:45 2011
+++ /branches/bleeding_edge/src/dateparser-inl.h Wed Jun 13 02:10:37 2012
@@ -148,6 +148,9 @@
} else {
// Garbage words are illegal if a number has been read.
if (has_read_number) return false;
+ // The first number has to be separated from garbage words by
+ // whitespace or other separators.
+ if (scanner.Peek().IsNumber()) return false;
}
} else if (token.IsAsciiSign() && (tz.IsUTC() || !time.IsEmpty())) {
// Parse UTC offset (only after UTC or time).
=======================================
--- /branches/bleeding_edge/test/mjsunit/date-parse.js Thu Sep 1 04:28:10
2011
+++ /branches/bleeding_edge/test/mjsunit/date-parse.js Wed Jun 13 02:10:37
2012
@@ -287,6 +287,9 @@
var testCasesNegative = [
'May 25 2008 1:30 (PM)) UTC', // Bad unmatched ')' after number.
'May 25 2008 1:30( )AM (PM)', //
+ 'a1', // Issue 126448, 53209.
+ 'nasfdjklsfjoaifg1',
+ 'x_2',
'May 25 2008 AAA (GMT)']; // Unknown word after number.
testCasesNegative.forEach(function (s) {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev