diff options
author | jake <jake@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-08-02 12:11:38 +0000 |
---|---|---|
committer | jake <jake@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-08-02 12:11:38 +0000 |
commit | 2c093e7b963a54e811455d01afa2d3a53ab800e9 (patch) | |
tree | ce64146f74a9d0a1fe976ad98e07629dd7f142cf /epan/dissectors/packet-rtcp.c | |
parent | f367020104dcf41b62b7df87efd2b2d05c58e182 (diff) |
Fix for bug 3800:
Correctly track the size of Feedback Control Information in Payload specific RTCP feedback packet.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29259 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-rtcp.c')
-rw-r--r-- | epan/dissectors/packet-rtcp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/epan/dissectors/packet-rtcp.c b/epan/dissectors/packet-rtcp.c index 0b7a25c7dd..629d109ec7 100644 --- a/epan/dissectors/packet-rtcp.c +++ b/epan/dissectors/packet-rtcp.c @@ -767,6 +767,7 @@ dissect_rtcp_psfb( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree, int packet_length ) { unsigned int rtcp_psfb_fmt = 0; + int base_offset = offset; /* Payload-specific FB message */ /* Feedback message type (FMT): 5 bits */ @@ -791,7 +792,8 @@ dissect_rtcp_psfb( tvbuff_t *tvb, int offset, proto_tree *rtcp_tree, /* Feedback Control Information (FCI) */ if (packet_length > 2) { - proto_tree_add_item( rtcp_tree, hf_rtcp_fci, tvb, offset, packet_length - offset, FALSE ); + proto_tree_add_item( rtcp_tree, hf_rtcp_fci, tvb, offset, packet_length - (offset - base_offset), FALSE ); + offset = base_offset + packet_length; } return offset; |