aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2009-08-02 12:11:38 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2009-08-02 12:11:38 +0000
commit18478a63bc80e185d9f320fc67c232cb088d9fa6 (patch)
treece64146f74a9d0a1fe976ad98e07629dd7f142cf
parented930bece3dc8e67f348f5db2cf5afb080840f12 (diff)
Fix for bug 3800:
Correctly track the size of Feedback Control Information in Payload specific RTCP feedback packet. svn path=/trunk/; revision=29259
-rw-r--r--epan/dissectors/packet-rtcp.c4
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;