qt6-bb10/src/dbus
Sami Rosendahl b9acd85b2f Fix crashes and non-portable functionality in QDBusDemarshaller QByteArray extraction
QDBusArgument QByteArray extraction operator and QDBusDemarshaller that
implements the extraction do not check the type of the extracted value.
When extracting a QByteArray when the value actually is e.g. a struct of
mixed types the byte array extraction will crash as it attempts to extract
the struct data as a fixed array.

The fix adds DBus type checks to QDBusArgument byte array extraction
operator implementations.
The checks invalidate extracting arrays of other types than bytes to a
QByteArray that worked with the unchecked implementation. The rationale
for this restriction is
1) extracting a QByteArray to a variant checks already that the array
   element type is byte
2) Results of extracting arrays of types wider than a byte to a QByteArray
   are architecture-dependent making such code inherently non-portable.

Task-number: QTBUG-22840
Change-Id: Ie20f2adc06c697a68055c803215fb408568fdd90
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2011-12-25 21:58:57 +01:00
..
dbus.pro Add DBus VirtualObject to handle multiple paths. 2011-08-18 17:59:18 +02:00
qdbus_symbols.cpp Changed QLibrary::resolve() to return a function pointer. 2011-07-25 12:58:23 +02:00
qdbus_symbols_p.h Changed QLibrary::resolve() to return a function pointer. 2011-07-25 12:58:23 +02:00
qdbusabstractadaptor.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusabstractadaptor.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusabstractadaptor_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusabstractinterface.cpp Make the DBus timeout configurable in QDBusAbstractInterface. 2011-08-25 11:36:52 +02:00
qdbusabstractinterface.h Make the DBus timeout configurable in QDBusAbstractInterface. 2011-08-25 11:36:52 +02:00
qdbusabstractinterface_p.h Make the DBus timeout configurable in QDBusAbstractInterface. 2011-08-25 11:36:52 +02:00
qdbusargument.cpp Fix most warnings about assignments of QAtomicInt. 2011-10-31 11:29:08 +01:00
qdbusargument.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusargument_p.h Fix crashes and non-portable functionality in QDBusDemarshaller QByteArray extraction 2011-12-25 21:58:57 +01:00
qdbusconnection.cpp Fix clang warning about bool to pointer conversion. 2011-11-28 18:47:32 +01:00
qdbusconnection.h Add DBus VirtualObject to handle multiple paths. 2011-08-18 17:59:18 +02:00
qdbusconnection_p.h Add DBus VirtualObject to handle multiple paths. 2011-08-18 17:59:18 +02:00
qdbusconnectioninterface.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusconnectioninterface.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusconnectionmanager_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuscontext.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuscontext.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuscontext_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusdemarshaller.cpp Fix crashes and non-portable functionality in QDBusDemarshaller QByteArray extraction 2011-12-25 21:58:57 +01:00
qdbuserror.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuserror.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusextratypes.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusextratypes.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusintegrator.cpp Fix most warnings about assignments of QAtomicInt. 2011-10-31 11:29:08 +01:00
qdbusintegrator_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusinterface.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusinterface.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusinterface_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusinternalfilters.cpp Add DBus VirtualObject to handle multiple paths. 2011-08-18 17:59:18 +02:00
qdbusintrospection.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusintrospection_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmacros.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmarshaller.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmessage.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmessage.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmessage_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmetaobject.cpp Flag meta objects generated by QtDBus 2011-07-29 05:19:47 +02:00
qdbusmetaobject_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmetatype.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmetatype.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmetatype_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusmisc.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuspendingcall.cpp Don't directly access QList contents 2011-11-16 18:16:26 +01:00
qdbuspendingcall.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuspendingcall_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuspendingreply.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbuspendingreply.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusreply.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusreply.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusserver.cpp Un-internalized QDBusServer 2011-11-09 15:28:36 +01:00
qdbusserver.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusservicewatcher.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusservicewatcher.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusthreaddebug_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusunixfiledescriptor.cpp Fix most warnings about assignments of QAtomicInt. 2011-10-31 11:29:08 +01:00
qdbusunixfiledescriptor.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusutil.cpp Fix clang warning about bool to pointer conversion. 2011-11-28 18:47:32 +01:00
qdbusutil_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusvirtualobject.cpp Add DBus VirtualObject to handle multiple paths. 2011-08-18 17:59:18 +02:00
qdbusvirtualobject.h Add DBus VirtualObject to handle multiple paths. 2011-08-18 17:59:18 +02:00
qdbusxmlgenerator.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusxmlparser.cpp Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
qdbusxmlparser_p.h Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00