Ignore:
Timestamp:
Dec 1, 2014, 6:50:15 PM (11 years ago)
Author:
[email protected]
Message:

Crash (integer overflow) beneath ByteCodeParser::handleGetById typing in search field on weather.com
https://bugs.webkit.org/show_bug.cgi?id=139165

Reviewed by Oliver Hunt.

If we don't have any getById or putById variants, emit non-cached versions of these operations.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp

    r176583 r176624  
    20192019    NodeType getById = getByIdStatus.makesCalls() ? GetByIdFlush : GetById;
    20202020   
    2021     if (!getByIdStatus.isSimple() || !Options::enableAccessInlining()) {
     2021    if (!getByIdStatus.isSimple() || !getByIdStatus.numVariants() || !Options::enableAccessInlining()) {
    20222022        set(VirtualRegister(destinationOperand),
    20232023            addToGraph(getById, OpInfo(identifierNumber), OpInfo(prediction), base));
     
    21342134    const PutByIdStatus& putByIdStatus, bool isDirect)
    21352135{
    2136     if (!putByIdStatus.isSimple() || !Options::enableAccessInlining()) {
     2136    if (!putByIdStatus.isSimple() || !putByIdStatus.numVariants() || !Options::enableAccessInlining()) {
    21372137        if (!putByIdStatus.isSet())
    21382138            addToGraph(ForceOSRExit);
Note: See TracChangeset for help on using the changeset viewer.