summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/clock.c7
-rw-r--r--src/manager.c7
-rw-r--r--src/service.c7
-rw-r--r--src/technology.c7
4 files changed, 28 insertions, 0 deletions
diff --git a/src/clock.c b/src/clock.c
index 0d7f8705..c3644ea9 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -169,8 +169,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);
diff --git a/src/manager.c b/src/manager.c
index c07e187a..e475d32d 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -85,8 +85,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);
diff --git a/src/service.c b/src/service.c
index 410a8da6..d301b2fd 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2623,8 +2623,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);
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);