qt6-bb10/src/dbus
Thiago Macieira d370878aa0 Fix undefined behavior: accessing an object after destruction
QDBusConnectionPrivate keeps a pointer to a QDBusConnectionInterface,
which in turn holds a reference back to that QDBusConnectionPrivate.
During the interface object's destruction, the QDBusAbstractInterface's
destructor checks if the interface is still valid. That access is
undefined behavior, but has so far been benign in all our uses since
the memory had not yet been freed (just destroyed) and the reference
count went from 0 to -1.

To be on the safe side, we destroy now the QDBusConnectionInterface
object while the Private is still valid. It will bring the reference
count down from 0 to a negative number, but won't cause any other
effects.

Change-Id: I9a75ad8521ae4e5cbbe5ffff13d1b80057e13809
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-04-15 00:21:57 +00:00
..
doc Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
Qt5DBusConfigExtras.cmake.in Check that files we expect to find actually exist when using a cmake package. 2013-05-20 15:20:26 +02:00
Qt5DBusMacros.cmake Updated BSD licensed file headers 2015-02-15 07:41:17 +00:00
dbus.pro Make QtDBus compile without libdbus-1 headers, if dlopening 2014-12-01 20:03:33 +01:00
dbus_minimal_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbus_symbols.cpp Export the symbols of libdbus-1 when loading it at runtime. 2015-03-25 10:11:43 +00:00
qdbus_symbols_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusabstractadaptor.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusabstractadaptor.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusabstractadaptor_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusabstractinterface.cpp Use QStringLiteral where applicable in QtDBus 2015-03-31 06:50:42 +00:00
qdbusabstractinterface.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusabstractinterface_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusargument.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusargument.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusargument_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusconnection.cpp Use QStringLiteral where applicable in QtDBus 2015-03-31 06:50:42 +00:00
qdbusconnection.h QDBusConnection::registorObject with interface 2015-02-15 02:17:53 +00:00
qdbusconnection_p.h QDBusConnection::registorObject with interface 2015-02-15 02:17:53 +00:00
qdbusconnectioninterface.cpp Use QStringLiteral where applicable in QtDBus 2015-03-31 06:50:42 +00:00
qdbusconnectioninterface.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusconnectionmanager_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuscontext.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuscontext.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuscontext_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusdemarshaller.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuserror.cpp Use QDebugStateSaver to restore space setting in stream operators. 2015-03-30 12:59:58 +00:00
qdbuserror.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusextratypes.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusextratypes.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusintegrator.cpp Fix undefined behavior: accessing an object after destruction 2015-04-15 00:21:57 +00:00
qdbusintegrator_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusinterface.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusinterface.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusinterface_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusinternalfilters.cpp QDBusConnection::registorObject with interface 2015-02-15 02:17:53 +00:00
qdbusintrospection.cpp Remove documentation of QDBusIntrospection::Object::introspection. 2015-02-25 11:36:38 +00:00
qdbusintrospection_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmacros.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmarshaller.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmessage.cpp Use QDebugStateSaver to restore space setting in stream operators. 2015-03-30 12:59:58 +00:00
qdbusmessage.h Pass params of shareable type by const-ref rather than by value 2015-02-13 16:29:25 +00:00
qdbusmessage_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmetaobject.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmetaobject_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmetatype.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmetatype.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmetatype_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusmisc.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuspendingcall.cpp Use QStringLiteral where applicable in QtDBus 2015-03-31 06:50:42 +00:00
qdbuspendingcall.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuspendingcall_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuspendingreply.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbuspendingreply.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusreply.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusreply.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusserver.cpp Fix undefined behavior: accessing an object after destruction 2015-04-15 00:21:57 +00:00
qdbusserver.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusservicewatcher.cpp Use QStringLiteral where applicable in QtDBus 2015-03-31 06:50:42 +00:00
qdbusservicewatcher.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusthreaddebug_p.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusunixfiledescriptor.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusunixfiledescriptor.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusutil.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusutil_p.h Use QStringLiteral where applicable in QtDBus 2015-03-31 06:50:42 +00:00
qdbusvirtualobject.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusvirtualobject.h Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusxmlgenerator.cpp Skip non-exported slots early when creating a XML interface description. 2015-03-25 10:11:51 +00:00
qdbusxmlparser.cpp Update copyright headers 2015-02-11 06:49:51 +00:00
qdbusxmlparser_p.h Update copyright headers 2015-02-11 06:49:51 +00:00