Title: [197185] trunk/Source/_javascript_Core
- Revision
- 197185
- Author
- oli...@apple.com
- Date
- 2016-02-26 11:18:06 -0800 (Fri, 26 Feb 2016)
Log Message
Make testRegExp not crash when given an invalid regexp
https://bugs.webkit.org/show_bug.cgi?id=154732
Reviewed by Mark Lam.
* testRegExp.cpp:
(parseRegExpLine):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (197184 => 197185)
--- trunk/Source/_javascript_Core/ChangeLog 2016-02-26 19:09:24 UTC (rev 197184)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-02-26 19:18:06 UTC (rev 197185)
@@ -1,3 +1,13 @@
+2016-02-26 Oliver Hunt <oli...@apple.com>
+
+ Make testRegExp not crash when given an invalid regexp
+ https://bugs.webkit.org/show_bug.cgi?id=154732
+
+ Reviewed by Mark Lam.
+
+ * testRegExp.cpp:
+ (parseRegExpLine):
+
2016-02-26 Benjamin Poulain <benja...@webkit.org>
[JSC] Add the test for r197155
Modified: trunk/Source/_javascript_Core/testRegExp.cpp (197184 => 197185)
--- trunk/Source/_javascript_Core/testRegExp.cpp 2016-02-26 19:09:24 UTC (rev 197184)
+++ trunk/Source/_javascript_Core/testRegExp.cpp 2016-02-26 19:18:06 UTC (rev 197185)
@@ -339,7 +339,10 @@
++i;
- return RegExp::create(vm, pattern.toString(), regExpFlags(line + i));
+ RegExp* r = RegExp::create(vm, pattern.toString(), regExpFlags(line + i));
+ if (r->isValid())
+ return r;
+ return nullptr;
}
static RegExpTest* parseTestLine(char* line, int lineLength)
@@ -465,6 +468,14 @@
if (regExpTest)
delete regExpTest;
+ } else if (linePtr[0] == '-') {
+ tests++;
+ regexp = 0; // Reset the live regexp to avoid confusing other subsequent tests
+ bool successfullyParsed = parseRegExpLine(vm, linePtr + 1, lineLength - 1);
+ if (successfullyParsed) {
+ failures++;
+ fprintf(stderr, "Failure on line %u. '%s' is not a valid regexp\n", lineNumber, linePtr + 1);
+ }
}
}
Modified: trunk/Source/_javascript_Core/tests/regexp/RegExpTest.data (197184 => 197185)
--- trunk/Source/_javascript_Core/tests/regexp/RegExpTest.data 2016-02-26 19:09:24 UTC (rev 197184)
+++ trunk/Source/_javascript_Core/tests/regexp/RegExpTest.data 2016-02-26 19:18:06 UTC (rev 197185)
@@ -1038,3 +1038,8 @@
"ca\nb\n", 0, -1, (-1, -1)
"b\nca\n", 0, -1, (-1, -1)
"b\nca", 0, -1, (-1, -1)
+
+-/asd
+-??
+-*+
+
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes