summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qbytearraylist.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2015-04-15 11:31:20 +0200
committerMarc Mutz <marc.mutz@kdab.com>2015-04-16 09:46:00 +0000
commit198190b76baffce9b983d03749e64af6f8428e49 (patch)
tree2563051d164491839cb9926a1c5d8c96c20683c5 /src/corelib/tools/qbytearraylist.h
parentaea74dcaee2d6930e4d69cbda83088703b45816e (diff)
QList: make QListSpecialMethods dtors protected
QList publicly inherits from QListSpecialMethods. Thus, any specialisation of QListSpecialMethods should make their destructor protected, to avoid deletion through a pointer to QListSpecialMethods invoking UB. Change-Id: I7e317606f84826cc0faf1bfc05dee97da6eaf2eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qbytearraylist.h')
-rw-r--r--src/corelib/tools/qbytearraylist.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/tools/qbytearraylist.h b/src/corelib/tools/qbytearraylist.h
index 9cd241a87b..f8539ca07a 100644
--- a/src/corelib/tools/qbytearraylist.h
+++ b/src/corelib/tools/qbytearraylist.h
@@ -55,6 +55,10 @@ class QByteArrayList : public QList<QByteArray>
template <> struct QListSpecialMethods<QByteArray>
#endif
{
+#ifndef Q_QDOC
+protected:
+ ~QListSpecialMethods() {}
+#endif
public:
inline QByteArray join() const
{ return QtPrivate::QByteArrayList_join(self(), 0, 0); }