aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rtcp.c
diff options
context:
space:
mode:
authorPeng Li <seudut@gmail.com>2015-04-19 17:15:11 +0800
committerPascal Quantin <pascal.quantin@gmail.com>2015-04-19 17:40:52 +0000
commit2bc5b3a8bbcc0311d3cad4bc2677242749bc3657 (patch)
tree98a1956b7e02ca9b382e58321ceb901cffc799cf /epan/dissectors/packet-rtcp.c
parentdaafb9d70085ee278d0b7dbf9909a3ea6a24a290 (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.c14
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;