Changeset 62727 in webkit


Ignore:
Timestamp:
Jul 7, 2010 4:27:57 PM (14 years ago)
Author:
oliver@apple.com
Message:

2010-07-07 Oliver Hunt <oliver@apple.com>

Reviewed by Geoffrey Garen.

Lazy mode of parser allows invalid syntax in object literals.
https://bugs.webkit.org/show_bug.cgi?id=41809

Make the parser itself validate getter and setter syntax rather
than offloading it to the AST builder.

  • parser/ASTBuilder.h: (JSC::ASTBuilder::createGetterOrSetterProperty):
  • parser/JSParser.cpp: (JSC::JSParser::parseProperty):
Location:
trunk/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r62708 r62727  
     12010-07-07  Oliver Hunt  <oliver@apple.com>
     2
     3        Reviewed by Geoffrey Garen.
     4
     5        Lazy mode of parser allows invalid syntax in object literals.
     6        https://bugs.webkit.org/show_bug.cgi?id=41809
     7
     8        Make the parser itself validate getter and setter syntax rather
     9        than offloading it to the AST builder.
     10
     11        * parser/ASTBuilder.h:
     12        (JSC::ASTBuilder::createGetterOrSetterProperty):
     13        * parser/JSParser.cpp:
     14        (JSC::JSParser::parseProperty):
     15
    1162010-07-07  Dumitru Daniliuc  <dumi@chromium.org>
    217
  • trunk/JavaScriptCore/parser/ASTBuilder.h

    r61732 r62727  
    254254        ASSERT(name);
    255255        PropertyNode::Type type;
    256         if (*getOrSet == "get")
     256        if (*getOrSet == m_globalData->propertyNames->get)
    257257            type = PropertyNode::Getter;
    258         else if (*getOrSet == "set")
     258        else if (*getOrSet == m_globalData->propertyNames->set)
    259259            type = PropertyNode::Setter;
    260260        else
  • trunk/JavaScriptCore/parser/JSParser.cpp

    r61878 r62727  
    11691169        int closeBracePos = 0;
    11701170        int bodyStartLine = 0;
     1171        failIfFalse(*ident == m_globalData->propertyNames->get || *ident == m_globalData->propertyNames->set);
    11711172        failIfFalse(parseFunctionInfo<FunctionNeedsName>(context, accessorName, parameters, body, openBracePos, closeBracePos, bodyStartLine));
    11721173        return context.createGetterOrSetterProperty(ident, accessorName, parameters, body, openBracePos, closeBracePos, bodyStartLine, m_lastLine);
Note: See TracChangeset for help on using the changeset viewer.