Read Agent provided SSID as an array of bytes and recurse where needed
---
src/agent-connman.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/agent-connman.c b/src/agent-connman.c
index 8440451..1b6f8a3 100644
--- a/src/agent-connman.c
+++ b/src/agent-connman.c
@@ -141,17 +141,20 @@ static void request_input_passphrase_reply(DBusMessage
*reply, void *user_data)
name_len = strlen(name);
} else if (g_str_equal(key, "SSID")) {
dbus_message_iter_next(&entry);
+ DBusMessageIter *array_iter = NULL;
if (dbus_message_iter_get_arg_type(&entry)
!= DBUS_TYPE_VARIANT)
break;
dbus_message_iter_recurse(&entry, &value);
if (dbus_message_iter_get_arg_type(&value)
- != DBUS_TYPE_VARIANT)
+ != DBUS_TYPE_ARRAY)
break;
- if (dbus_message_iter_get_element_type(&value)
- != DBUS_TYPE_VARIANT)
+
+ dbus_message_iter_recurse(&value, &array_iter);
+ if (dbus_message_iter_get_arg_type(&array_iter)
+ != DBUS_TYPE_BYTE)
break;
- dbus_message_iter_get_fixed_array(&value, &name,
+ dbus_message_iter_get_fixed_array(&array_iter, &name,
&name_len);
}
dbus_message_iter_next(&dict);
--
1.9.1
Statement of Confidentiality
The contents of this e-mail message and any attachments are confidential and
are intended solely for the addressee. The information may also be legally
privileged. This transmission is sent in trust, and the sole purpose of
delivery to the intended recipient. If you have received this transmission in
error, any use, reproduction or dissemination of this transmission is strictly
prohibited. If you are not the intended recipient, please immediately notify
the sender by reply e-mail or at 508.683.2500 and delete this message and its
attachments, if any.
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman