Ignore:
Timestamp:
Dec 13, 2017, 11:38:51 AM (7 years ago)
Author:
[email protected]
Message:

Unreviewed rollout of r225695. Caused a crash on yahoo login page.

That bug tracked in https://bugs.webkit.org/show_bug.cgi?id=180761.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/testRegExp.cpp

    r225695 r225861  
    316316}
    317317
    318 static RegExp* parseRegExpLine(VM& vm, char* line, int lineLength, const char** regexpError)
     318static RegExp* parseRegExpLine(VM& vm, char* line, int lineLength)
    319319{
    320320    StringBuilder pattern;
    321 
     321   
    322322    if (line[0] != '/')
    323323        return 0;
     
    331331
    332332    RegExp* r = RegExp::create(vm, pattern.toString(), regExpFlags(line + i));
    333     if (!r->isValid()) {
    334         *regexpError = r->errorMessage();
    335         return nullptr;
    336     }
    337     return r;
     333    if (r->isValid())
     334        return r;
     335    return nullptr;
    338336}
    339337
     
    434432        char* linePtr = 0;
    435433        unsigned int lineNumber = 0;
    436         const char* regexpError = nullptr;
    437434
    438435        while ((linePtr = fgets(&lineBuffer[0], MaxLineLength, testCasesFile))) {
     
    448445
    449446            if (linePtr[0] == '/') {
    450                 regexp = parseRegExpLine(vm, linePtr, lineLength, &regexpError);
    451                 if (!regexp) {
    452                     failures++;
    453                     fprintf(stderr, "Failure on line %u. '%s' %s\n", lineNumber, linePtr, regexpError);
    454                 }
     447                regexp = parseRegExpLine(vm, linePtr, lineLength);
    455448            } else if (linePtr[0] == ' ') {
    456449                RegExpTest* regExpTest = parseTestLine(linePtr, lineLength);
     
    469462                tests++;
    470463                regexp = 0; // Reset the live regexp to avoid confusing other subsequent tests
    471                 bool successfullyParsed = parseRegExpLine(vm, linePtr + 1, lineLength - 1, &regexpError);
     464                bool successfullyParsed = parseRegExpLine(vm, linePtr + 1, lineLength - 1);
    472465                if (successfullyParsed) {
    473466                    failures++;
    474                     fprintf(stderr, "Failure on line %u. '%s' %s\n", lineNumber, linePtr + 1, regexpError);
     467                    fprintf(stderr, "Failure on line %u. '%s' is not a valid regexp\n", lineNumber, linePtr + 1);
    475468                }
    476469            }
Note: See TracChangeset for help on using the changeset viewer.