Ignore:
Timestamp:
Apr 26, 2013, 1:12:04 PM (12 years ago)
Author:
[email protected]
Message:

Make stack tracing more robust
https://bugs.webkit.org/show_bug.cgi?id=115272

Reviewed by Geoffrey Garen.

CallFrame already handles stack walking confusion robustly,
so we should make sure that the actual walk handles that as well.

  • interpreter/Interpreter.cpp:

(JSC::getCallerInfo):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp

    r149146 r149205  
    568568        } else if (callerCodeBlock && callerCodeBlock->getJITType() == JITCode::DFGJIT) {
    569569            CodeOrigin origin;
    570             if (!callerCodeBlock->codeOriginForReturn(callFrame->returnPC(), origin))
    571                 RELEASE_ASSERT_NOT_REACHED();
     570            if (!callerCodeBlock->codeOriginForReturn(callFrame->returnPC(), origin)) {
     571                // This should not be possible, but we're seeing cases where it does happen
     572                // CallFrame already has robustness against bogus stack walks, so
     573                // we'll extend that to here as well.
     574                ASSERT_NOT_REACHED();
     575                caller = 0;
     576                return 0;
     577            }
    572578            bytecodeOffset = origin.bytecodeIndex;
    573579            if (InlineCallFrame* icf = origin.inlineCallFrame) {
Note: See TracChangeset for help on using the changeset viewer.