Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
5.5.0
-
None
Description
In qquickstyleitem.cpp there's code like this (see the switch in QQuickStyleItem::initStyleOption):
m_styleoption = new QStyleOptionButton();
where m_styleoption is a pointer to QStyleOption.
Since QStyleOption does not have a virtual destructor (OOPS?), the non-virtual deletion that then happens in QQuickStyleItem's dtor leaks memory and invokes undefined behaviour:
QQuickStyleItem::~QQuickStyleItem()
{
delete m_styleoption; // kaboom
m_styleoption = 0;
}
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-43638 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
112341,1 | WIP: make QStyleOption dtor virtual | 5.5 | qt/qtbase | Status: ABANDONED | -2 | 0 |