From 71f3b461b371d6bf7c7bc4e92578420b78d5c0d8 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Fri, 11 Feb 2005 01:13:45 +0000 Subject: 2005-02-10 Havoc Pennington * dbus/dbus-message-factory.c (generate_special): modify test to avoid using a non-basic dict key * dbus/dbus-marshal-validate-util.c: add test for the below * doc/dbus-specification.xml: require that dict keys are a basic type * dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason): require that dict key is a basic type --- dbus/dbus-marshal-validate.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'dbus/dbus-marshal-validate.c') diff --git a/dbus/dbus-marshal-validate.c b/dbus/dbus-marshal-validate.c index 1639fb83..8315bcce 100644 --- a/dbus/dbus-marshal-validate.c +++ b/dbus/dbus-marshal-validate.c @@ -155,6 +155,10 @@ _dbus_validate_signature_with_reason (const DBusString *type_str, array_depth = 0; } + if (last == DBUS_DICT_ENTRY_BEGIN_CHAR && + !_dbus_type_is_basic (*p)) + return DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE; + last = *p; ++p; } -- cgit