diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-12-23 17:39:19 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-12-23 17:39:19 +0000 |
commit | 38fc4d7e6901041c8f733ae651ab0c0083fb3a6c (patch) | |
tree | 1b93a56218dbc8cce2685f4ac5619759e1db393b /epan/dissectors/packet-wps.c | |
parent | a5622ba415bfeeaca638b4d7bd386c3883413528 (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
Diffstat (limited to 'epan/dissectors/packet-wps.c')
-rw-r--r-- | epan/dissectors/packet-wps.c | 8 |
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; |