summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-marshal-validate-util.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2005-02-05 21:03:28 +0000
committerHavoc Pennington <hp@redhat.com>2005-02-05 21:03:28 +0000
commit0e53d4eed36f378e99802e516fbb0d1355641902 (patch)
tree7f4eda5798ea9f32ac25b539402161236012d226 /dbus/dbus-marshal-validate-util.c
parentdde6f303e52099d7051fb97de9917caa33ac7fea (diff)
2005-02-05 Havoc Pennington <hp@redhat.com>
* dbus/dbus-marshal-validate.c (validate_body_helper): fix crash if the signature of a variant was empty (_dbus_validate_signature_with_reason): catch "(a)" (array inside struct with no element type) * dbus/dbus-message-factory.c (generate_uint32_changed): add more mangled messages to break things
Diffstat (limited to 'dbus/dbus-marshal-validate-util.c')
-rw-r--r--dbus/dbus-marshal-validate-util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/dbus/dbus-marshal-validate-util.c b/dbus/dbus-marshal-validate-util.c
index 7a1648fa..afaf5262 100644
--- a/dbus/dbus-marshal-validate-util.c
+++ b/dbus/dbus-marshal-validate-util.c
@@ -89,7 +89,13 @@ static const ValidityTest signature_tests[] = {
{ "(())", DBUS_INVALID_STRUCT_HAS_NO_FIELDS },
{ "a()", DBUS_INVALID_STRUCT_HAS_NO_FIELDS },
{ "i()", DBUS_INVALID_STRUCT_HAS_NO_FIELDS },
- { "()i", DBUS_INVALID_STRUCT_HAS_NO_FIELDS }
+ { "()i", DBUS_INVALID_STRUCT_HAS_NO_FIELDS },
+ { "(a)", DBUS_INVALID_MISSING_ARRAY_ELEMENT_TYPE },
+ { "a{ia}", DBUS_INVALID_MISSING_ARRAY_ELEMENT_TYPE },
+ { "a{}", DBUS_INVALID_DICT_ENTRY_HAS_NO_FIELDS }
+ /* { "a{i}", DBUS_INVALID_DICT_ENTRY_HAS_ONLY_ONE_FIELD }, */
+ /* { "{is}", DBUS_INVALID_DICT_ENTRY_NOT_INSIDE_ARRAY }, */
+ /* { "a{isi}", DBUS_INVALID_DICT_ENTRY_HAS_TOO_MANY_FIELDS }, */
};
dbus_bool_t