Changeset 225693 in webkit for trunk/Source/JavaScriptCore


Ignore:
Timestamp:
Dec 8, 2017, 12:21:27 PM (7 years ago)
Author:
[email protected]
Message:

Web Inspector: CRASH at InspectorConsoleAgent::enable when iterating mutable list of buffered console messages
https://bugs.webkit.org/show_bug.cgi?id=180590
<rdar://problem/35882767>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-12-08
Reviewed by Mark Lam.

  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::enable):
Swap the messages to a Vector that won't change during iteration.

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r225683 r225693  
     12017-12-08  Joseph Pecoraro  <[email protected]>
     2
     3        Web Inspector: CRASH at InspectorConsoleAgent::enable when iterating mutable list of buffered console messages
     4        https://bugs.webkit.org/show_bug.cgi?id=180590
     5        <rdar://problem/35882767>
     6
     7        Reviewed by Mark Lam.
     8
     9        * inspector/agents/InspectorConsoleAgent.cpp:
     10        (Inspector::InspectorConsoleAgent::enable):
     11        Swap the messages to a Vector that won't change during iteration.
     12
    1132017-12-08  Michael Saboff  <[email protected]>
    214
  • trunk/Source/JavaScriptCore/inspector/agents/InspectorConsoleAgent.cpp

    r225425 r225693  
    8484    }
    8585
    86     size_t messageCount = m_consoleMessages.size();
    87     for (size_t i = 0; i < messageCount; ++i)
    88         m_consoleMessages[i]->addToFrontend(*m_frontendDispatcher, m_injectedScriptManager, false);
     86    Vector<std::unique_ptr<ConsoleMessage>> messages;
     87    m_consoleMessages.swap(messages);
     88
     89    for (size_t i = 0; i < messages.size(); ++i)
     90        messages[i]->addToFrontend(*m_frontendDispatcher, m_injectedScriptManager, false);
    8991}
    9092
Note: See TracChangeset for help on using the changeset viewer.