diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-01-06 21:59:04 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-01-06 21:04:19 +0000 |
commit | 119f564e0d08e8d507fe1a08350f8bc9e5d3b0b7 (patch) | |
tree | fc21c3ed06fb19cd1a7c9f55ef9fefacf8be86fd /epan/dissectors/packet-mbim.c | |
parent | a6e6deea7feeaa1d6c8b5084d4baebdd24138c46 (diff) |
MBIM: call dissector_(add|delete)_uint only when necessary
Change-Id: I12bbe9e1d81560f1874d4e575b19db1842fa0c72
Reviewed-on: https://code.wireshark.org/review/6352
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-mbim.c')
-rw-r--r-- | epan/dissectors/packet-mbim.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/epan/dissectors/packet-mbim.c b/epan/dissectors/packet-mbim.c index ec8dd2f0d8..aa361fbb7f 100644 --- a/epan/dissectors/packet-mbim.c +++ b/epan/dissectors/packet-mbim.c @@ -7989,7 +7989,7 @@ proto_register_mbim(void) void proto_reg_handoff_mbim(void) { - static gboolean initialized = FALSE; + static gboolean initialized = FALSE, mbim_control_decode_unknown_itf_prev = FALSE; dissector_handle_t mbim_control_handle; if (!initialized) { @@ -8005,11 +8005,14 @@ proto_reg_handoff_mbim(void) initialized = TRUE; } heur_dissector_set_enabled("usb.bulk", dissect_mbim_bulk_heur, proto_mbim, mbim_bulk_heuristic); - mbim_control_handle = find_dissector("mbim.control"); - if (mbim_control_decode_unknown_itf) { - dissector_add_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle); - } else { - dissector_delete_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle); + if (mbim_control_decode_unknown_itf != mbim_control_decode_unknown_itf_prev) { + mbim_control_handle = find_dissector("mbim.control"); + if (mbim_control_decode_unknown_itf) { + dissector_add_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle); + } else { + dissector_delete_uint("usb.control", IF_CLASS_UNKNOWN, mbim_control_handle); + } + mbim_control_decode_unknown_itf_prev = mbim_control_decode_unknown_itf; } } |