aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-meta.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-11-22 22:59:08 -0500
committerMichael Mann <mmann78@netscape.net>2015-11-23 13:09:55 +0000
commit2bbbb4879c3e0885fd971bd75ca88a183feb92f0 (patch)
tree9bbd51756fa6230f3555612e27863b316371ad38 /epan/dissectors/packet-meta.c
parent073cfb33ec84f12d7904f0e6ed2b0a5d049f4ded (diff)
register_dissector -> new_register_dissector
Change-Id: Ic368dd8e83cf39e0c934da0ae2744778e2d54ce6 Reviewed-on: https://code.wireshark.org/review/12050 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-meta.c')
-rw-r--r--epan/dissectors/packet-meta.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/epan/dissectors/packet-meta.c b/epan/dissectors/packet-meta.c
index 21bb434a1f..aa968e8733 100644
--- a/epan/dissectors/packet-meta.c
+++ b/epan/dissectors/packet-meta.c
@@ -506,8 +506,8 @@ static gint32 evaluate_meta_items(guint16 schema, tvbuff_t *tvb, packet_info *pi
return total_len;
}
-static void
-dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
#define META_HEADER_SIZE 8
guint16 schema, proto, hdrlen, reserved;
@@ -537,12 +537,12 @@ dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (item_len < 0) {
/* evaluate_meta_items signalled an error */
- return; /* stop parsing */
+ return META_HEADER_SIZE; /* stop parsing */
}
if (hdrlen != item_len) {
expert_add_info(pinfo, ti, &ei_meta_invalid_header);
- return;
+ return META_HEADER_SIZE;
}
/* find next subdissector based on the chosen schema */
@@ -600,6 +600,7 @@ dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
call_dissector(next_dissector ? next_dissector : data_handle,
next_tvb, pinfo, tree);
+ return tvb_captured_length(tvb);
}
void
@@ -780,7 +781,7 @@ proto_register_meta(void)
expert_module_t* expert_meta;
proto_meta = proto_register_protocol("Metadata", "META", "meta");
- register_dissector("meta", dissect_meta, proto_meta);
+ new_register_dissector("meta", dissect_meta, proto_meta);
proto_register_field_array(proto_meta, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));