diff options
author | Peng Li <seudut@gmail.com> | 2015-04-19 17:15:11 +0800 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-04-19 17:40:52 +0000 |
commit | 2bc5b3a8bbcc0311d3cad4bc2677242749bc3657 (patch) | |
tree | 98a1956b7e02ca9b382e58321ceb901cffc799cf /epan/dissectors/packet-rtcp.c | |
parent | daafb9d70085ee278d0b7dbf9909a3ea6a24a290 (diff) |
rtcp.psfb.fmt DissectorTable does not work in Lua plugin
Change-Id: I4e26ee5e4d9c1556d62ce01720e40848047c23e0
Reviewed-on: https://code.wireshark.org/review/8119
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-rtcp.c')
-rw-r--r-- | epan/dissectors/packet-rtcp.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c index 9fc5118595..4b8d701bb2 100644 --- a/epan/dissectors/packet-rtcp.c +++ b/epan/dissectors/packet-rtcp.c @@ -1194,8 +1194,7 @@ dissect_rtcp_rtpfb( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree, proto_item /* Check if we have a type specific dissector, * if we do, just return from here */ - if (packet_length > 12 && - dissector_get_uint_handle (rtcp_rtpfb_dissector_table, rtcp_rtpfb_fmt)) { + if (packet_length > 12) { tvbuff_t *subtvb = tvb_new_subset_length(tvb, offset, packet_length - 12); if (dissector_try_uint (rtcp_rtpfb_dissector_table, rtcp_rtpfb_fmt, @@ -1262,6 +1261,17 @@ dissect_rtcp_psfb( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree, proto_item_append_text(ti," %s", val_to_str_const(tvb_get_ntohl(tvb,offset), rtcp_ssrc_values, "")); offset += 4; + /* Check if we have a type specific dissector, + * if we do, just return from here + */ + if (packet_length > 12) { + tvbuff_t *subtvb = tvb_new_subset_length(tvb, offset, packet_length - 12); + + if (dissector_try_uint (rtcp_psfb_dissector_table, rtcp_psfb_fmt, + subtvb, pinfo, rtcp_tree)) + return base_offset + packet_length; + } + /* Feedback Control Information (FCI) */ counter = 0; read_fci = 0; |