aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2008-12-23 17:39:19 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2008-12-23 17:39:19 +0000
commit38fc4d7e6901041c8f733ae651ab0c0083fb3a6c (patch)
tree1b93a56218dbc8cce2685f4ac5619759e1db393b
parenta5622ba415bfeeaca638b4d7bd386c3883413528 (diff)
From Gursel Mutlu:
WPS defines usage of UUID values for both enrollee and registrar. They are both 16-byte values as defined in RFC 4122 for UUID. Current code on SVN repository dissectors these values as they are 8 bytes long. svn path=/trunk/; revision=27095
-rw-r--r--epan/dissectors/packet-wps.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/epan/dissectors/packet-wps.c b/epan/dissectors/packet-wps.c
index ab25913715..7ef3cd9cd2 100644
--- a/epan/dissectors/packet-wps.c
+++ b/epan/dissectors/packet-wps.c
@@ -1126,14 +1126,18 @@ dissect_wps_tlvs(proto_tree *eap_tree, tvbuff_t *tvb, int offset,
break;
case WPS_TLV_TYPE_UUID_E:
- tmp_item = proto_tree_add_item(tlv_root, hf_eapwps_tlv_uuid_e, tvb, offset+4, 8, FALSE);
+ tmp_item = proto_tree_add_item(tlv_root, hf_eapwps_tlv_uuid_e, tvb, offset+4, tlv_len, FALSE);
hfindex = hf_eapwps_tlv_uuid_e;
+ if (tlv_len > 16 && pinfo)
+ expert_add_info_format(pinfo, tmp_item, PI_MALFORMED, PI_ERROR, fmt_warn_too_long, tlv_len);
break;
case WPS_TLV_TYPE_UUID_R:
- tmp_item = proto_tree_add_item(tlv_root, hf_eapwps_tlv_uuid_r, tvb, offset+4, 8, FALSE);
+ tmp_item = proto_tree_add_item(tlv_root, hf_eapwps_tlv_uuid_r, tvb, offset+4, tlv_len, FALSE);
hfindex = hf_eapwps_tlv_uuid_r;
+ if (tlv_len > 16 && pinfo)
+ expert_add_info_format(pinfo, tmp_item, PI_MALFORMED, PI_ERROR, fmt_warn_too_long, tlv_len);
break;