From 10360400d3d128da50212513a18705149c5b9ce6 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Mon, 17 Sep 2012 15:13:36 +0200 Subject: [PATCH] session: Check D-Bus argumets for Changed method --- src/session.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/session.c b/src/session.c index 52ccb8b..c7c72a5 100644 --- a/src/session.c +++ b/src/session.c @@ -1256,8 +1256,15 @@ static DBusMessage *change_session(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); switch (dbus_message_iter_get_arg_type(&value)) { -- 2.7.4