diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2006-10-12 20:25:50 +0000 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2006-10-12 20:25:50 +0000 |
commit | 5a6795edee5e8aa16c8b0aa6544b0ee1436d46a5 (patch) | |
tree | 7f80c3b8905690df3730e8e30ec817819035b670 | |
parent | ae1a0e6ffe8d14341f98d15a7a00dd6c21e3b3b5 (diff) |
Check for correct L2CAP signaling command code when waiting for info request response
-rw-r--r-- | hcid/dbus-test.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/hcid/dbus-test.c b/hcid/dbus-test.c index b15965d4..c78baeee 100644 --- a/hcid/dbus-test.c +++ b/hcid/dbus-test.c @@ -237,11 +237,6 @@ static gboolean l2raw_data_callback(GIOChannel *io, GIOCondition cond, struct au return FALSE; } - if (audit->timeout) { - g_timeout_remove(audit->timeout); - audit->timeout = 0; - } - if (cond & (G_IO_ERR | G_IO_HUP)) goto failed; @@ -254,6 +249,14 @@ static gboolean l2raw_data_callback(GIOChannel *io, GIOCondition cond, struct au goto failed; } + if (cmd->code != L2CAP_INFO_RSP) + return TRUE; + + if (audit->timeout) { + g_timeout_remove(audit->timeout); + audit->timeout = 0; + } + switch (audit->state) { case AUDIT_STATE_MTU: handle_mtu_response(audit, rsp); @@ -286,6 +289,11 @@ static gboolean l2raw_data_callback(GIOChannel *io, GIOCondition cond, struct au audit->mask_result, audit->mask); failed: + if (audit->timeout) { + g_timeout_remove(audit->timeout); + audit->timeout = 0; + } + send_audit_status(audit, "AuditRemoteDeviceComplete"); g_io_channel_close(io); |