diff options
Diffstat (limited to 'src/technology.c')
-rw-r--r-- | src/technology.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/technology.c b/src/technology.c index 91308a17..2b34f508 100644 --- a/src/technology.c +++ b/src/technology.c @@ -683,8 +683,15 @@ static DBusMessage *set_property(DBusConnection *conn, if (dbus_message_iter_init(msg, &iter) == FALSE) return __connman_error_invalid_arguments(msg); + if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) + return __connman_error_invalid_arguments(msg); + dbus_message_iter_get_basic(&iter, &name); dbus_message_iter_next(&iter); + + if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) + return __connman_error_invalid_arguments(msg); + dbus_message_iter_recurse(&iter, &value); type = dbus_message_iter_get_arg_type(&value); |