From 0e53d4eed36f378e99802e516fbb0d1355641902 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sat, 5 Feb 2005 21:03:28 +0000 Subject: 2005-02-05 Havoc Pennington * 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 --- dbus/dbus-marshal-validate-util.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'dbus/dbus-marshal-validate-util.c') 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 -- cgit