Better validation when reading a dict.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1843 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams 2006-06-18 04:48:16 +00:00
parent 43ab72e508
commit 20672fb3a8

View file

@ -656,6 +656,7 @@ nmu_dbus_dict_get_entry (DBusMessageIter *iter_dict,
NMUDictEntry * entry)
{
DBusMessageIter iter_dict_entry, iter_dict_val;
int type;
const char *key;
if (!iter_dict || !entry)
@ -670,6 +671,9 @@ nmu_dbus_dict_get_entry (DBusMessageIter *iter_dict,
if (!dbus_message_iter_next (&iter_dict_entry))
goto error;
type = dbus_message_iter_get_arg_type (&iter_dict_entry);
if (type != DBUS_TYPE_VARIANT)
goto error;
dbus_message_iter_recurse (&iter_dict_entry, &iter_dict_val);
entry->type = dbus_message_iter_get_arg_type (&iter_dict_val);