diff options
author | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2016-06-13 15:28:16 -0400 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2016-06-15 05:38:01 +0000 |
commit | 3a590217ac60d626cb126aff593b43901585224c (patch) | |
tree | 0e75c2b174f6ef9ee1b5837c60cffe9d0515519b /plugins | |
parent | 22fd85d178e52b23a192737f16957d24886d0a5d (diff) |
Change how dissectors do late-field-registration to avoid a double-registration
assertion.
If a dissector forces registration of fields during dissection it needs to do
so in a way that clears the prefix registration. Otherwise epan will call the
registration routine a 2nd time (which will cause us to assert out) if a user
types a display filter (with the dissector's prefix) that doesn't exist.
Update the proto_register_prefix() comments to reflect this.
Change-Id: I3ce29243395fb55192bb5dfd950baa88410ac136
Reviewed-on: https://code.wireshark.org/review/15881
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/wimaxasncp/packet-wimaxasncp.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/plugins/wimaxasncp/packet-wimaxasncp.c b/plugins/wimaxasncp/packet-wimaxasncp.c index d1dca91b70..8e3e781d24 100644 --- a/plugins/wimaxasncp/packet-wimaxasncp.c +++ b/plugins/wimaxasncp/packet-wimaxasncp.c @@ -2081,9 +2081,6 @@ match_ver_value_string( return res? res->vs.strptr : NULL; } -static void register_wimaxasncp_fields(const char*); - - static int dissect_wimaxasncp( tvbuff_t *tvb, @@ -2158,9 +2155,9 @@ dissect_wimaxasncp( offset = 0; /* Register protocol fields, etc if haven't done yet. */ - if (wimaxasncp_dict == NULL) + if (hf_wimaxasncp_version == -1) { - register_wimaxasncp_fields(NULL); + proto_registrar_get_byname("wimaxasncp.version"); } if (tree) |