summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-marshal-validate.c
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2008-10-01 13:49:48 -0400
committerColin Walters <walters@verbum.org>2008-10-01 13:49:48 -0400
commit7b10b46c5c8658449783ce45f1273dd35c353bce (patch)
tree6487a1f2e8e0aa09c7f5baa9644f589d246f5ce7 /dbus/dbus-marshal-validate.c
parent3683bda27a9f53972194df5efca60af6c6987a45 (diff)
Bug 17803: Panic from dbus_signature_validate
* dbus/dbus-marshal-validate.c: Ensure we validate a basic type before calling is_basic on it. * dbus-marshal-validate-util.c: Test.
Diffstat (limited to 'dbus/dbus-marshal-validate.c')
-rw-r--r--dbus/dbus-marshal-validate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/dbus/dbus-marshal-validate.c b/dbus/dbus-marshal-validate.c
index e63a463b..b24b5bc2 100644
--- a/dbus/dbus-marshal-validate.c
+++ b/dbus/dbus-marshal-validate.c
@@ -247,6 +247,7 @@ _dbus_validate_signature_with_reason (const DBusString *type_str,
}
if (last == DBUS_DICT_ENTRY_BEGIN_CHAR &&
+ _dbus_type_is_valid (*p) &&
!dbus_type_is_basic (*p))
{
result = DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE;