⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 248173 in webkit


Ignore:
Timestamp:
Aug 2, 2019, 1:07:11 PM (7 years ago)
Author:
rniwa@webkit.org
Message:

Harden NodeRareData::m_connectedFrameCount
https://bugs.webkit.org/show_bug.cgi?id=200300

Reviewed by Geoffrey Garen.

Use unsinged integer type in NodeRareData::m_connectedFrameCount since it's padded anyway.

  • dom/Node.cpp:

(WebCore::Node::decrementConnectedSubframeCount): Check that hasRareNode() is true in release builds.

  • dom/NodeRareData.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r248172 r248173  
     12019-08-02  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Harden NodeRareData::m_connectedFrameCount
     4        https://bugs.webkit.org/show_bug.cgi?id=200300
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Use unsinged integer type in NodeRareData::m_connectedFrameCount since it's padded anyway.
     9
     10        * dom/Node.cpp:
     11        (WebCore::Node::decrementConnectedSubframeCount): Check that hasRareNode() is true in release builds.
     12        * dom/NodeRareData.h:
     13
    1142019-08-02  Ryosuke Niwa  <rniwa@webkit.org>
    215
  • trunk/Source/WebCore/dom/Node.cpp

    r247572 r248173  
    25552555void Node::decrementConnectedSubframeCount(unsigned amount)
    25562556{
     2557    ASSERT(rareData());
     2558    if (!hasRareData())
     2559        return; // Defend against type confusion when the above assertion fails. See webkit.org/b/200300.
    25572560    rareData()->decrementConnectedSubframeCount(amount);
    25582561}
  • trunk/Source/WebCore/dom/NodeRareData.h

    r246490 r248173  
    3030#include "TagCollection.h"
    3131#include <wtf/HashSet.h>
     32#include <wtf/StdLibExtras.h>
    3233#include <wtf/text/AtomString.h>
    3334
     
    320321
    321322private:
    322     unsigned m_connectedFrameCount : 10; // Must fit Page::maxNumberOfFrames.
     323    unsigned m_connectedFrameCount; // Must fit Page::maxNumberOfFrames.
    323324
    324325    std::unique_ptr<NodeListsNodeData> m_nodeLists;
Note: See TracChangeset for help on using the changeset viewer.