Browse Source

D-Bus: Fix ServiceDiscoveryResponse to accept int32 dialog_token

The ServiceDiscoveryRequest signal uses int32 for encoding dialog_token
for some reason (even though this is a u8 field).
ServiceDiscoveryResponse is supposed to accept the values from the
signal as-is, so extend that to accept int32 in addition to the
previously used uint32.

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen 10 years ago
parent
commit
2544394406
1 changed files with 2 additions and 1 deletions
  1. 2 1
      wpa_supplicant/dbus/dbus_new_handlers_p2p.c

+ 2 - 1
wpa_supplicant/dbus/dbus_new_handlers_p2p.c

@@ -2638,7 +2638,8 @@ DBusMessage * wpas_dbus_handler_p2p_service_sd_res(
 			   entry.type == DBUS_TYPE_INT32) {
 			freq = entry.uint32_value;
 		} else if (!os_strcmp(entry.key, "dialog_token") &&
-			   entry.type == DBUS_TYPE_UINT32) {
+			   (entry.type == DBUS_TYPE_UINT32 ||
+			    entry.type == DBUS_TYPE_INT32)) {
 			dlg_tok = entry.uint32_value;
 		} else if (!os_strcmp(entry.key, "tlvs")) {
 			if (entry.type != DBUS_TYPE_ARRAY ||