[Webkit-unassigned] [Bug 41129] CSSSelector: Avoid chaining tagHistory of CSSSelector, which causes stack overflow.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jul 14 12:10:10 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=41129
--- Comment #21 from Darin Adler <darin at apple.com> 2010-07-14 12:10:10 PST ---
inline SelectorBag::SelectorBag()
: m_overflowSelectorIndex(0)
{
}
inline SelectorBag::~SelectorBag()
{
size_t size = m_overflowSelectors.size();
for (size_t i = m_overflowSelectorIndex; i < size; ++i)
delete m_overflowSelectors[i];
}
void append(PassOwnPtr<CSSSelector> selector)
{
if (!m_oneSelector) {
m_oneSelector = selector;
return;
}
if (m_overflowSelectorIndex < m_overflowSelectors.size()) {
m_overflowSelectors.append(selector.leakPtr());
return;
}
m_overflowSelectorIndex = 0;
m_overflowSelectors.resize(1);
m_overflowSelectors[0] = selector.leakPtr();
}
Actually, should probably be Vector<CSSSelector*, 16> too.
Something like the above.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list