aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Huus <eapache@gmail.com>2013-03-28 15:05:46 +0000
committerEvan Huus <eapache@gmail.com>2013-03-28 15:05:46 +0000
commit045152353c947d977e69bac3866e6e3bd7c61be3 (patch)
treecf2aa7882883aef27cea4a6ca2c30b80e52de0f7
parent63987d289417812db4bd31f0308cb819192083a5 (diff)
From Michal Labedzki via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8536
Fix unrecognised CID session payload in bluetooth if there are multiple sessions with the same DCID. svn path=/trunk/; revision=48618
-rw-r--r--epan/dissectors/packet-btl2cap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/epan/dissectors/packet-btl2cap.c b/epan/dissectors/packet-btl2cap.c
index 860f52a010..938d9d6ce6 100644
--- a/epan/dissectors/packet-btl2cap.c
+++ b/epan/dissectors/packet-btl2cap.c
@@ -1024,7 +1024,8 @@ dissect_connresponse(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *
if (psm_data && psm_data->interface_id == interface_id &&
psm_data->adapter_id == adapter_id &&
psm_data->chandle == chandle &&
- psm_data->scid == (scid | ((pinfo->p2p_dir == P2P_DIR_RECV) ? 0x00000000 : 0x80000000))) {
+ psm_data->scid == (scid | ((pinfo->p2p_dir == P2P_DIR_RECV) ? 0x00000000 : 0x80000000)) &&
+ psm_data->disconnect_in_frame > pinfo->fd->num) {
cid = dcid | ((pinfo->p2p_dir == P2P_DIR_RECV) ? 0x80000000 : 0x00000000);
k_interface_id = interface_id;