summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusutil.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2024-04-30 17:59:51 -0700
committerThiago Macieira <thiago.macieira@intel.com>2024-05-10 13:17:20 -0700
commited6d1fa71a79a70b7e6a20fbbc737ed9f6c287b1 (patch)
treeb63cf0ef32bdbfd4193c9ad66051ec88033822c8 /src/dbus/qdbusutil.cpp
parente3f520e621a9ea631d8a1d2f9bfc7a5f20dc698a (diff)
QDBusSignature: accept empty strings as valid
QDBusSignature holds a D-Bus value of type SIGNATURE, which is zero or more signatures, not one or more. This changes the default constructor to create a valid signature, which we denote by not being a null QString. That means we need to use something other than the default constructor in our tests for attempting to pass invalid signatures. [ChangeLog][QtDBus][QDBusSignature] Fixed a bug that caused the class not to accept an empty string as a valid D-Bus SIGNATURE value. Fixes: QTBUG-124919 Pick-to: 6.5 6.7 Change-Id: I262c3499666e4f4fbcfbfffd17cb3793dcf2eae3 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/dbus/qdbusutil.cpp')
-rw-r--r--src/dbus/qdbusutil.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dbus/qdbusutil.cpp b/src/dbus/qdbusutil.cpp
index 827418c487..78338aa054 100644
--- a/src/dbus/qdbusutil.cpp
+++ b/src/dbus/qdbusutil.cpp
@@ -512,14 +512,14 @@ namespace QDBusUtil
bool isValidSignature(const QString &signature)
{
QByteArray ba = signature.toLatin1();
- const char *data = ba.constData();
- while (true) {
+ const char *data = ba.constBegin();
+ const char *end = ba.constEnd();
+ while (data != end) {
data = validateSingleType(data);
if (!data)
return false;
- if (*data == '\0')
- return true;
}
+ return true;
}
/*!