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

Reply via email to