Robustify PersistentCache against cached data that contains the string ': '
authoraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Jun 2011 15:30:43 +0000 (15:30 +0000)
committeraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Jun 2011 15:30:43 +0000 (15:30 +0000)
Fixes <http://webkit.org/b/63721> Exceptions thrown while loading TestFailures page due to
passing a bad string to JSON.parse

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/PersistentCache.js:
(PersistentCache._parseDateAndJSONFromString): Manually split the string on the separator
using indexOf and substring. (String.prototype.split always splits on all instances of the
separator.)

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@90122 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/PersistentCache.js
Tools/ChangeLog

index 176c90c..ab9e989 100644 (file)
@@ -79,10 +79,10 @@ var PersistentCache = {
     },
 
     _parseDateAndJSONFromString: function(string) {
     },
 
     _parseDateAndJSONFromString: function(string) {
-        var components = string.split(this._dateAndJSONSeparator);
+        var separatorIndex = string.indexOf(this._dateAndJSONSeparator);
         return {
         return {
-            date: new Date(parseInt(components[0], 10)),
-            json: components[1],
+            date: new Date(parseInt(string.substring(0, separatorIndex), 10)),
+            json: string.substring(separatorIndex + this._dateAndJSONSeparator.length),
         };
     },
 };
         };
     },
 };
index 452f99b..e1c1e2c 100644 (file)
@@ -1,5 +1,19 @@
 2011-06-30  Adam Roben  <aroben@apple.com>
 
 2011-06-30  Adam Roben  <aroben@apple.com>
 
+        Robustify PersistentCache against cached data that contains the string ': '
+
+        Fixes <http://webkit.org/b/63721> Exceptions thrown while loading TestFailures page due to
+        passing a bad string to JSON.parse
+
+        Reviewed by Darin Adler.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/PersistentCache.js:
+        (PersistentCache._parseDateAndJSONFromString): Manually split the string on the separator
+        using indexOf and substring. (String.prototype.split always splits on all instances of the
+        separator.)
+
+2011-06-30  Adam Roben  <aroben@apple.com>
+
         Include the crashing symbol in crash logs links on TestFailures
 
         Fixes <http://webkit.org/b/63465> Links to crash logs on TestFailures page should include
         Include the crashing symbol in crash logs links on TestFailures
 
         Fixes <http://webkit.org/b/63465> Links to crash logs on TestFailures page should include