diff options
author | Michael Mann <mmann78@netscape.net> | 2013-09-05 01:39:35 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-09-05 01:39:35 +0000 |
commit | 0c49b4d872c8d46cf4d28bf91f8861cf1bc0e122 (patch) | |
tree | c236fcc05e0fb91f87a5b628a5ca0a584c112757 /epan/dissectors/packet-gmhdr.c | |
parent | e65df7f453b4a2c7fcab788777c89c03eb12ed42 (diff) |
Add filterable expert info to dissect_802_3() and clean up the shrapnel.
svn path=/trunk/; revision=51761
Diffstat (limited to 'epan/dissectors/packet-gmhdr.c')
-rw-r--r-- | epan/dissectors/packet-gmhdr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/epan/dissectors/packet-gmhdr.c b/epan/dissectors/packet-gmhdr.c index 63e1adb68d..e9f78c3a48 100644 --- a/epan/dissectors/packet-gmhdr.c +++ b/epan/dissectors/packet-gmhdr.c @@ -121,6 +121,7 @@ static gint ett_srcport = -1; static gint ett_gmtrailer = -1; static expert_field ei_gmhdr_field_length_invalid = EI_INIT; +static expert_field ei_gmhdr_len = EI_INIT; static void dissect_gmtlv(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gmhdr_tree, guint offset, guint16 length) @@ -256,7 +257,7 @@ dissect_gmhdr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } dissect_802_3(encap_proto, is_802_2, tvb, offset, pinfo, tree, gmhdr_tree, - hf_gmhdr_len, hf_gmhdr_trailer, 0); + hf_gmhdr_len, hf_gmhdr_trailer, &ei_gmhdr_len, 0); } else { ethertype(encap_proto, tvb, offset, pinfo, tree, gmhdr_tree, hf_gmhdr_etype, hf_gmhdr_trailer, 0); @@ -461,6 +462,7 @@ proto_register_gmhdr(void) }; static ei_register_info ei[] = { { &ei_gmhdr_field_length_invalid, { "gmhdr.field_length_invalid", PI_MALFORMED, PI_ERROR, "Field length invalid", EXPFILL }}, + { &ei_gmhdr_len, { "gmhdr.len.past_end", PI_MALFORMED, PI_ERROR, "Length field value goes past the end of the payload", EXPFILL }}, }; module_t *gmhdr_module; |