Reported by Ravikumar Veeramally --- plugins/neard.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/plugins/neard.c b/plugins/neard.c index 85cf06b..83561fe 100644 --- a/plugins/neard.c +++ b/plugins/neard.c @@ -172,6 +172,9 @@ static int parse_request_oob_params(DBusMessage *message, const char *key; int arg_type; + if (tlv_msg == NULL || length == NULL) + return -EINVAL; + dbus_message_iter_init(message, &iter); if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) @@ -182,9 +185,6 @@ static int parse_request_oob_params(DBusMessage *message, if (arg_type != DBUS_TYPE_DICT_ENTRY) return -EINVAL; - if (tlv_msg == NULL && length == NULL) - return 0; - while (arg_type != DBUS_TYPE_INVALID) { dbus_message_iter_recurse(&array, &dict_entry); if (dbus_message_iter_get_arg_type(&dict_entry) != @@ -254,9 +254,13 @@ out: static DBusMessage *request_oob_method(DBusConnection *dbus_conn, DBusMessage *message, void *user_data) { + DBusMessageIter iter; + DBG(""); - if (parse_request_oob_params(message, NULL, NULL) != 0) + dbus_message_iter_init(message, &iter); + + if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) return get_reply_on_error(message, EINVAL); return create_request_oob_reply(message); -- 1.8.1.5 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman